KR20200094674A - 에지 프루닝을 이용한 그래프 희소화 방법 및 장치 - Google Patents

에지 프루닝을 이용한 그래프 희소화 방법 및 장치 Download PDF

Info

Publication number
KR20200094674A
KR20200094674A KR1020200008620A KR20200008620A KR20200094674A KR 20200094674 A KR20200094674 A KR 20200094674A KR 1020200008620 A KR1020200008620 A KR 1020200008620A KR 20200008620 A KR20200008620 A KR 20200008620A KR 20200094674 A KR20200094674 A KR 20200094674A
Authority
KR
South Korea
Prior art keywords
node
edge
metric
temporary
graph
Prior art date
Application number
KR1020200008620A
Other languages
English (en)
Other versions
KR102279323B1 (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 경희대학교 산학협력단
Publication of KR20200094674A publication Critical patent/KR20200094674A/ko
Application granted granted Critical
Publication of KR102279323B1 publication Critical patent/KR102279323B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 RA 트리를 이용한 RDF 트리플 데이터 압축 방법 및 장치에 관한 것으로, RDF 트리플 데이터를 압축함으로써 저장 공간 및 가중치를 절감하는 것을 일 목적으로 한다. 이를 달성하기 위한 본 발명은 RDF 트리플 데이터를 적어도 하나의 구성 요소로 분리하는 a 단계, 상기 구성 요소 별로 분리된 데이터를 URL 속성에 따라 적어도 하나의 속성으로 분리하고, 상기 속성을 해시하여 해시 값을 생성하는 b 단계, 상기 구성 요소 별로 생성된 상기 해시 값을 해시하여 RDF 트리플 해시 데이터를 생성하는 c 단계 및 상기 RDF 트리플 해시 데이터를 RA 트리 형태의 저장소에 저장하는 d 단계를 포함하는 것을 특징으로 한다.

Description

에지 프루닝을 이용한 그래프 희소화 방법 및 장치{METHOD AND DEVICE FOR GRAPE SPASIFICATION USING EDGE PRUNNING}
본 발명은 에지 프루닝을 이용한 그래프 희소화 방법 및 장치에 관한 것으로, 보다 자세하게는 노드 사이의 가중치를 기반으로 에지를 프루닝하여 그래프를 희소화하는 방법 및 장치에 관한 것이다.
그래프는 다양한 유형의 네트워크 모델링에 사용되는데, 페이스북, 트위터 등의 소셜 네트워크, 인터넷, 웹사이트 등과 같은 네트워크의 성장이 급격하게 이루어지면서 대용량 그래프를 처리하는 방법에 대한 연구가 활발하게 진행되고 있다.
대용량 그래프는 최단 경로, 접근성 또는 연결된 구성 요소를 탐색하기 위한 비용이 많이 소모되며 또한 그 기술의 난이도가 상당하다. 이를 위해 기존 그래프의 메트릭 에지 정보를 유지한 컴팩트한 그래프를 생성하여 마이닝 알고리즘을 보다 빠르게 처리할 수 있도록 그래프를 희소화 할 필요성이 있다.
본 발명은 전술한 문제점을 해결하기 위한 것으로서, 대용량 그래프에 포함된 에지 중 불필요한 것을 식별하여 프루닝함으로써 그래프를 희소화하는 것을 일 목적으로 한다.
또한 본 발명은 대용량 그래프에 포함된 노드의 직접 경로와 간접 경로의 가중치를 비교하여 그래프를 희소화하는 것을 일 목적으로 한다.
또한 본 발명은 대용량 그래프에서 노드 간 최소 경로를 식별하기 위하여 시작 노드와 끝 노드에서 모드 BFS 방법을 수행하여 시간 복잡도를 단축시키는 것을 일 목적으로 한다.
이러한 목적을 달성하기 위한 본 발명은 대용량 그래프에 포함된 적어도 하나의 노드를 식별하고, 상기 노드를 이용하여 인접 노드 리스트를 생성하는 a 단계, 상기 인접 노드 리스트를 기반으로 상기 대용량 그래프에 포함된 임의의 제1 노드 및 제2 노드를 시작 노드로 하는 임의의 경로를 식별하고, 이를 기반으로 제1 노드 및 제2 노드 사이의 최단 경로를 식별하여 그에 대응하는 제1 가중치를 연산하는 b 단계, 상기 제1 가중치와 상기 제1 노드 및 제2 노드의 에지에 대응하는 제2 가중치를 비교하여 상기 에지의 메트릭 정보를 설정하는 c 단계 및 상기 메트릭 정보에 따라 상기 에지를 프루닝하여 상기 대용량 그래프를 희소화하는 d 단계를 포함하는 것을 일 특징으로 한다.
또한 상기 b 단계는, 상기 제1 노드를 시작 노드로 하는 적어도 하나의 제1 임시 경로를 식별하는 단계, 상기 제2 노드를 시작 노드로 하는 적어도 하나의 제2 임시 경로를 식별하는 단계, 상기 제1 및 제2 임시 경로를 기반으로 제1 및 제2 노드 간의 제3 임시 경로를 적어도 하나 설정하는 단계, 상기 제3 임시 경로에 대응하는 가중치 중 가장 작은 값을 갖는 것을 최단 경로로 설정하는 단계를 포함하되, 상기 제1 및 제2 임시 경로를 식별하는 단계를 동시에 수행하는 것을 일 특징으로 한다.
나아가 상기 제3 임시 경로를 설정하는 단계는, 상기 제1 및 제2 임시 경로에 중복되는 제3 노드를 식별하고, 상기 제3 노드에서 상기 제1 및 제2 임시 경로가 교차하는 상기 제3 임시 경로를 설정하는 것을 일 특징으로 한다.
또한 상기 메트릭 정보는 메트릭 에지 및 세미 메트릭 에지를 포함하여, 상기 c 단계는, 상기 제1 가중치가 상기 제2 가중치보다 값이 크면 상기 에지를 메트릭 에지로 설정하고, 그렇지 않으면 세미 메트릭 에지로 설정하는 것을 일 특징으로 한다.
나아가 상기 d 단계는, 상기 에지가 세미 메트릭 에지이면, 상기 에지를 프루닝하는 것을 일 특징으로 한다.
또한 본 발명은 에지 프루닝을 이용하여 대용량 그래프를 희소화하는 장치에 있어서, 대용량 그래프에 포함된 적어도 하나의 노드를 식별하고, 상기 노드를 이용하여 인접 노드 리스트를 생성하는 리스트 생성부, 상기 인접 노드 리스트를 기반으로 상기 대용량 그래프에 포함된 임의의 제1 노드 및 제2 노드 사이의 최단 경로를 식별하고, 그에 대응하는 제1 가중치를 연산하며, 상기 제1 가중치와 상기 제1 노드 및 제2 노드의 에지에 대응하는 제2 가중치를 비교하여 상기 에지의 메트릭 정보를 설정하는 메트릭 관리부 및 상기 메트릭 정보에 따라 상기 에지를 프루닝하여 상기 대용량 그래프를 희소화하는 프루닝부를 포함하는 것을 일 특징으로 한다.
나아가 상기 메트릭 제어부는, 상기 제1 및 제2 노드를 시작 노드로 하는 적어도 하나의 제1 및 제2 임시 경로를 각각 식별하고, 상기 제1 및 제2 임시 경로에서 중복되는 제3 노드를 식별하여, 상기 제3 노드에서 상기 제1 및 제2 임시 경로가 교차하는 적어도 하나의 제3 임시 경로를 설정하며, 상기 제3 임시 경로에 대응하는 가중치 중 가장 작은 값을 갖는 것을 최단 경로로 설정하는 것을 일 특징으로 한다.
또한 상기 메트릭 정보는 메트릭 에지 및 세미 메트릭 에지를 포함하여, 상기 메트릭 관리부는, 상기 제1 가중치가 상기 제2 가중치보다 값이 크면 상기 에지를 메트릭 에지로 설정하고, 그렇지 않으면 세미 메트릭 에지로 설정하는 것을 일 특징으로 한다.
나아가 상기 프루닝부는, 상기 에지가 세미 메트릭 에지이면, 상기 에지를 프루닝하는 것을 일 특징으로 한다.
전술한 바와 같은 본 발명에 의하면, 대용량 그래프에 포함된 에지 중 불필요한 것을 식별하여 프루닝함으로써 그래프를 희소화 할 수 있다.
또한 본 발명은 대용량 그래프에 포함된 노드의 직접 경로와 간접 경로의 가중치를 비교하여 그래프를 희소화 할 수 있다.
또한 본 발명은 대용량 그래프에서 노드 간 최소 경로를 식별하기 위하여 시작 노드와 끝 노드에서 모드 BFS 방법을 수행하여 시간 복잡도를 단축시킬 수 있다.
도 1은 본 발명의 일 실시 예에 의한 대용량 그래프를 희소화하는 방법의 예시를 설명하기 위한 순서도,
도 2는 본 발명의 일 실시 예에 의한 제1 노드와 제2 노드 사이의 최단 경로를 식별하는 방법을 설명하기 위한 순서도,
도 3은 본 발명의 일 실시 예에 의한 대용량 그래프를 희소화 하기 위한 방법의 개념을 설명하기 위한 도면,
도 4는 본 발명의 일 실시 예에 의한 대용량 그래프의 예시를 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 의한 인접 노드 리스트의 예시를 설명하기 위한 도면,
도 6은 본 발명의 일 실시 예에 의한 희소화 된 대용량 그래프의 예시를 설명하기 위한 도면,
도 7은 본 발명의 일 실시 예에 의한 대용량 그래프를 희소화하는 장치의 구성을 설명하기 위한 블록도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
도면에서 동일한 참조부호는 동일 또는 유사한 구성요소를 가리키는 것으로 사용되며, 명세서 및 특허청구의 범위에 기재된 모든 조합은 임의의 방식으로 조합될 수 있다. 그리고 다른 식으로 규정하지 않는 한, 단수에 대한 언급은 하나 이상을 포함할 수 있고, 단수 표현에 대한 언급은 또한 복수 표현을 포함할 수 있음이 이해되어야 한다.
본 명세서에서 사용되는 용어는 단지 특정 예시적 실시 예들을 설명할 목적을 가지고 있으며 한정할 의도로 사용되는 것이 아니다. 본 명세서에서 사용된 바와 같은 단수적 표현들은 또한, 해당 문장에서 명확하게 달리 표시하지 않는 한, 복수의 의미를 포함하도록 의도될 수 있다. 용어 "및/또는," "그리고/또는"은 그 관련되어 나열되는 항목들의 모든 조합들 및 어느 하나를 포함한다. 용어 "포함한다", "포함하는", "포함하고 있는", "구비하는", "갖는", "가지고 있는" 등은 내포적 의미를 갖는 바, 이에 따라 이러한 용어들은 그 기재된 특징, 정수, 단계, 동작, 요소, 및/또는 컴포넌트를 특정하며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트, 및/또는 이들의 그룹의 존재 혹은 추가를 배제하지 않는다. 본 명세서에서 설명되는 방법의 단계들, 프로세스들, 동작들은, 구체적으로 그 수행 순서가 확정되는 경우가 아니라면, 이들의 수행을 논의된 혹은 예시된 그러한 특정 순서로 반드시 해야 하는 것으로 해석돼서는 안 된다. 추가적인 혹은 대안적인 단계들이 사용될 수 있음을 또한 이해해야 한다.
또한, 각각의 구성요소는 각각 하드웨어 프로세서로 구현될 수 있고, 위 구성요소들이 통합되어 하나의 하드웨어 프로세서로 구현될 수 있으며, 또는 위 구성요소들이 서로 조합되어 복수 개의 하드웨어 프로세서로 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하기로 한다.
본 발명의 일 실시 예에 의한 대용량 그래프 희소화 방법은 BFS 방법을 기반으로 수행될 수 있다. 그래프를 희소화 하기 위하여 그래프를 탐색하는 종래의 방법에는 깊이 우선 탐색(DFS, Depth First Search) 방법과 너비 우선 탐색(BFS, Breadth First Search) 방법이 있다.
DFS 방법은 루트 노드 혹은 다른 임의의 노드에서 시작하여 최대 깊이의 노드까지 탐색한 후 다른 루트를 탐색하는 방법으로 모든 노드를 방문하고자 하는 경우에 사용된다. BFS 방법은 루트 노드 혹은 다른 임의의 노드에서 인접한 모든 노드를 방문한 후, 떨어져 있는 노드를 다음으로 방문하는 방법으로 두 노드 사이의 최단 경로 혹은 임의의 경로를 탐색할 때 사용된다. 예를 들어 A 노드와 B 노드 사이에 존재하는 경로를 찾고자 할 경우, DFS 방법은 모든 노드를 다 탐색하는 반면 BFS 방법은 A 노드와 인접한 노드를 먼저 탐색할 것이다.
도 1은 본 발명의 일 실시 예에 의한 대용량 그래프를 희소화하는 방법을 설명하기 위한 순서도이다. 본 발명의 일 실시 예에 의한 대용량 그래프 희소화 방법의 주체는 서버로 구현될 수 있는 바, 이하에서는 서버로 명명한다.
단계 110에서, 서버는 대용량 그래프에 포함된 적어도 하나의 수를 갖는 모든 노드를 식별할 수 있다. 대용량 그래프는 노드와 그 노드를 연결하는 에지를 모아둔 자료 구조로, 연결되어 있는 객체 간의 관계를 표현할 수 있다. 따라서 서버는 대용량 그래프에 포함된 객체를 나타내는 노드를 식별할 수 있다.
단계 120에서, 서버는 식별된 노드와 인접한 다른 노드를 더 식별하여, 인접 노드 리스트를 생성할 수 있다. 인접 노드 리스트는 단계 110에서 식별된 노드와 에지를 통해 연결된 다른 노드를 나타내는 것으로, 서버는 노드 a와 인접한 노드 b가 서로 인접하여 있으면, 노드 a, 노드 b, 노드 a와 노드 b 사이 에지의 가중치(비용, cost)를 이용하여 인접 노드 리스트를 생성할 수 있다.
대용량 노드에서 노드 a와 노드가 b, d, e가 인접하면, 서버는 인접 노드 리스트의 노드 a에 대응하는 행에 (b, cost_ab), (d, cost_ad), (e, cost_ae)를 추가할 수 있다. 서버는 노드 a에 대한 인접 노드를 나타내기 위하여, 인접 노드 리스트에 (a, b, cost_ab), (a, d, cost_ad), (a, e, cost_ae)를 추가할 수 있다.
도 4는 본 발명의 일 실시 예에 의한 대용량 그래프의 예시를 나타낸 도면이다. 도 4를 참조하면, 서버는 도 4에 도시된 대용량 그래프에 포함된 노드 a와 노드 b, 노드 c, 노드 d, 노드 f가 인접하여 있다고 판단하고, 인접 노드 리스트의 노드 a에 대응하는 행에 (b, 2), (c, 1), (d, 5), (f, 5)를 추가할 수도 있고 시작 노드에 대한 별도의 행 구분 없이 인접 노드 리스트에 (a, b, 2), (a, c, 1), (a, d, 5), (a, f, 5)를 추가할 수도 있다.
단계 130에서, 서버는 대용량 그래프에서 임의의 제1 노드와 제2 노드 사이의 최단 경로를 식별할 수 있다. 서버는 BFS 방법을 이용하여 제1 노드와 제2 노드 사이의 최단 경로를 식별하고, 최단 경로의 제1 가중치를 더 연산할 수 있다. 서버는 큐와 해시 테이블과 같은 추상 데이터 구조를 이용하여 BFS 계층을 구현할 수 있다.
보다 구체적으로 설명하면, 서버는 제1 노드와 제2 노드 사이의 모든 경로를 식별하고, 나아가 각 경로에 대응하는 가중치를 이용하여 가장 가중치가 적은 최단 경로를 식별함으로써 최단 경로와 그에 대한 제1 가중치를 획득할 수 있다. 단계 130에 대한 구체적인 설명은 도 2를 참고하여 설명한다.
단계 140에서, 서버는 제1 노드와 제2 노드의 에지에 대한 매트릭 정보를 설정할 수 있다. 서버는 단계 130에서 제1 노드와 제2 노드의 최단 경로와 제1 가중치를 식별하면, 제1 노드와 제2 노드의 에지의 제2 가중치와 비교하여 제1 노드와 제2 노드의 에지의 메트릭 정보를 설정할 수 있다. 보다 구체적으로 설명하면, 서버는 제1 가중치가 제2 가중치보다 클 경우 제1 노드와 제2 노드의 에지를 메트릭 에지로 설정하고, 제1 가중치가 제2 가중치보다 작을 경우 제1 노드와 제2 노드의 에지를 세미 메트릭 에지로 설정할 수 있다.
예를 들어 설명하면, 제1 노드와 제2 노드의 최단 경로의 제1 가중치가 4이고 제1 노드와 제2 노드의 에지의 제2 가중치가 6이면, 서버는 제1 노드와 제2 노드의 에지를 세미 메트릭 에지로 설정할 수 있다.
본 발명의 일 실시 예에 의하면, 서버는 제1 노드와 제2 노드 사이의 최단 경로를 식별하면, 최단 경로의 하위 경로에는 세미 메트릭 에지가 존재할 수 없다. 예를 들어, 노드 x에서 노드 z 사이의 최단 경로가 x-y-z이고, 노드 x와 노드 y 사이의 가중치(cost_xy), 노드 y와 노드 z 사이의 가중치(cost_yz), 노드 x와 노드 z 사이의 가중치(cost_xz)에서, 노드 x와 노드 z 사이의 에지가 세미 메트릭 에지라고 가정하면, cost_xy+cost_yz<cost_xz를 만족한다. 이 경우, cost_xz+cost_yz<cost_xy나 cost_xy+cost_xz<cost_yz는 만족될 수 없으므로 노드 x와 노드 y 사이의 에지나 노드 y와 노드 z 사이의 에지는 세미 메트릭 에지일 수 없음을 알 수 있다.
단계 150에서, 서버는 제1 노드와 제2 노드의 에지의 메트릭 정보에 따라 에지를 프루닝할 수 있다. 서버는 제1 노드와 제2 노드의 에지가 세미 메트릭 에지이면, 제1 노드와 제2 노드의 에지를 프루닝할 수 있다. 서버는 제1 노드와 제2 노드의 에지보다 제1 노드에서 제2 노드를 거쳐 제3 노드를 연결하는 비용이 더 적을 경우 제1 노드와 제2 노드의 에지가 불필요하게 많은 비용을 소모한다고 판단하고 제1 노드와 제2 노드의 에지를 프루닝할 수 있다.
서버는 대용량 그래프에 포함된 모든 노드에 대하여 단계 130 내지 단계 150을 반복하여 대용량 그래프에서 불필요한 노드 간 에지(에지)를 프루닝하여 대용량 그래프를 희소화 할 수 있다.
도 2는 본 발명의 일 실시 예에 의한 제1 노드와 제2 노드 사이의 최단 경로를 식별하는 방법을 설명하기 위한 순서도이고, 도 3은 본 발명의 일 실시 예에 의한 대용량 그래프를 희소화하기 위한 방법을 설명하기 위한 도면이다.
도 2 및 도 3을 참조하면, 단계 210에서, 서버는 인접 노드 리스트를 이용하여 제1 노드를 시작 노드로 하는 모든 제1 임시 경로를 식별할 수 있다. 도 3의 (a)는 제1 노드를 시작 노드로 하여 연결된 다른 노드를 표시한 그래프이다. 서버는 도 3의 (a)와 같이 제1 노드를 시작 노드로 하여 BFS 방법을 수행하여 적어도 하나의 제1 임시 경로를 식별할 수 있다.
단계 220에서, 서버는 인접 노드 리스트를 이용하여 제2 노드를 시작 노드로 하는 모든 제2 임시 경로를 식별할 수 있다. 도 3의 (b)는 제2 노드를 시작 노드로 하여 연결된 다른 노드를 표시한 그래프이다. 서버는 도 3의 (b)와 같이 제2 노드를 시작 노드로 하여 BFS 방법을 수행하여 적어도 하나의 제2 임시 경로를 식별할 수 있다.
단계 230에서, 서버는 단계 210 및 단계 220에서 수행하여 획득한 제1 및 제2 임시 경로에서 중복되는 제3 노드를 식별할 수 있다. 예를 들어 제1 노드가 노드 a이고 제2 노드가 노드 d이고, 노드 a를 시작 노드로 하는 제1 임시 경로에 (a, c, 1), (c, e, 1)과 같은 a-c-e의 경로가 존재하고, 노드 b를 시작 노드로 하는 제2 임시 경로에 (d, e, 2) 과 같은 d-e의 경로가 존재하면, 서버는 제1 임시 경로와 제2 임시 경로에 노드 e가 중복되어 있음을 확인하고 노드 e를 제3 노드로 설정할 수 있다.
본 발명의 일 실시 예에 의한 서버는 단계 210 내지 단계 230을 동시에 수행할 수 있어, 제1 임시 경로 및 제2 임시 경로를 식별하는 도중 제3 노드가 존재한다고 인식하면 단계 240을 진행할 수 있어 최단 경로를 식별하는 과정에서 소모되는 시간을 감소시킬 수 있다. 또한 서버는 제3 노드를 설정하는 과정에 있어서, 제3 노드가 설정되면 제3 노드를 큐 또는 해시 테이블에서 프루닝하여 다른 제3 노드를 식별할 때 중복으로 식별되지 않게 할 수 있다.
단계 240에서, 서버는 제3 노드가 존재하면, 제1 노드에서 제3 노드까지의 제1 임시 경로와 제3 노드에서 제2 노드까지의 제2 임시 경로를 제1 노드와 제2 노드 간의 모든 경로인 제3 임시 경로로 설정할 수 있다. 단계 230의 예시를 이용하여 설명하면, 서버는 제1 임시 경로가 a-c-e이고, 제2 임시 경로가 d-e이며, 제3 노드가 노드 e일 경우, 제1 노드와 제2 노드 간의 제3 임시 경로를 a-c-e-d로 설정할 수 있다.
단계 250에서, 서버는 설정된 적어도 하나의 제3 임시 경로에 대한 가중치를 연산하여, 가장 적은 값을 갖는 제3 임시 경로를 최단 경로로 설정할 수 있다.
이와 같이 본 발명의 일 실시 예에 의한 대용량 그래프 희소화 방법은 시작 노드에서 최단 거리를 측정하는 것이 아닌, 시작 노드(제1 노드)와 끝 노드(제2 노드)에서 각각 경로를 측정하는, 두 개의 독립적인 프로세스를 채택함으로써 시간을 단축시킬 수 있다.
이하에서는 도 3 내지 도 5를 이용하여 대용량 그래프를 희소화하는 예시를 설명한다.
서버는 대용량 그래프에 포함된 노드 a, 노드 b, 노드 c, 노드 d, 노드 e, 노드 f, 노드 j를 식별할 수 있다. 그 후 서버는 노드 a 내지 노드 j 각각에 대하여 인접한 다른 노드, 및 그에 대응하는 가중치를 식별하여 인접 노드 리스트를 생성할 수 있다. 인접 노드 리스트는 도 4와 같이 기준이 되는 노드와 해당 노드와 인접한 노드에 대한 매트릭스 형태로 생성될 수 있다. 생성된 인접 노드 리스트에서, 노드 a에 대하여 인접한 다른 노드는 (c, 1), (b, 2), (d, 5), (f, 5)이고, 노드 b에 대하여 인접한 다른 노드는 (e, 1), (a, 2), (j, 3), (d, 4)임을 확인할 수 있다.
서버는 생성된 인접 노드 리스트를 이용하여 대용량 그래프에 존재하는 임의의 노드 b와 노드 d의 최단 경로를 식별할 수 있다. 서버는 인접 노드 리스트에서 노드 b와 인접한 다른 노드인 노드 e, a, j, d를 식별하고, 식별된 노드 e, a, j, d 와 인접한 또 다른 노드를 식별하는 과정을 거쳐 노드 b를 시작 노드로 하는 적어도 하나의 제1 임시 경로를 식별할 수 있다. 이 때 식별되는 제1 임시 경로는 b-e-d, b-a-c-…-d, b-j-e-d 등을 포함할 것이다.
나아가 서버는 인접 노드 리스트에서 노드 d와 인접한 다른 노드인 노드 e, j, b, a를 식별하고, 식별된 노드 e, j, b, a와 인접한 또 다른 노드를 식별하는 과정을 거쳐 노드 d를 시작 노드로 하는 적어도 하나의 제2 임시 경로를 식별할 수 있다. 이 때 식별되는 제2 임시 경로는 d-j-b, d-j-e-…-b, d-a-…-b 등을 포함할 것이다.
서버는 노드 b를 시작 노드로 하는 제1 임시 경로가 b-e-…이고 노드 d를 시작 노드로 하는 제2 임시 경로 중 d-e-…를 식별하면, 제1 임시 경로와 제2 임시 경로에서 노드 e가 중복되었음을 확인하고, 노드 e를 제3 노드 하는 b-e-d를 제3 임시 경로를 설정한 후, 이 이상의 임시 경로 추적을 중단할 수 있다. 서버는 식별된 모든 제1 및 제2 임시 경로의 조합에서 중복된 모든 제3 노드를 식별하고 제3 임시 경로를 설정할 수 있다.
서버는 제3 임시 경로를 설정하면, 제3 임시 경로에 대응하는 가중치를 연산하고, 가장 적은 가중치를 갖는 제3 임시 경로를 최단 경로로 설정할 것이다. 서버는 가중치가 3인 b-e-d의 제3 임시 경로를 노드 b와 노드 d의 최단 경로로 설정할 수 있다.
서버는 노드 b와 노드 d의 에지의 가중치인 4가 노드 b와 노드 d의 최단 경로의 가중치인 3보다 크다고 판단하고, 노드 b와 노드 d의 에지를 세미 메트릭 에지로 설정할 것이다. 서버는 세미 메트릭 에지인 노드 b와 노드 d의 에지를 프루닝할 것이다.
서버는 상기 과정을 대용량 그래프에 포함된 모든 노드에 대하여 반복 수행함으로써 대용량 그래프에서 세미 메트릭 에지로 설정된 모든 에지를 프루닝하여 대용량 그래프를 희소화할 수 있다. 서버는 모든 노드에 대하여 상기 과정을 수행하여 도 5와 같은 희소화된 대용량 그래프를 생성할 수 있다.
도 7은 본 발명의 일 실시 예에 의한 서버의 구성을 설명하기 위한 블록도이다. 도 7에 도시되는 바와 같이 본 발명의 일 실시 예에 의한 서버는 리스트 생성부(110), 메트릭 관리부(130), 그리고 프루닝부(150)를 포함할 것이다.
리스트 생성부(110)는 대용량 그래프에 포함된 적어도 하나의 노드를 식별하고, 식별된 노드를 이용하여 인접 노드 리스트를 생성할 수 있다.
메트릭 관리부(130)는 인접 노드 리스트를 기반으로 대용량 그래프에 포함된 임의의 제1 노드 및 제2 노드 사이의 최단 경로를 식별하고, 그에 대응하는 제1 가중치를 연산하며, 제1 가중치와 제1 노드 및 제2 노드의 에지에 대응하는 제2 가중치를 비교하여 에지의 메트릭 정보를 설정할 수 있다.
보다 구체적으로 메트릭 관리부(130)는 제1 노드 및 제2 노드 사이의 최단 경로를 식별하기 위하여 제1 및 제2 노드를 시작 노드로 하는 적어도 하나의 제1 및 제2 임시 경로를 각각 식별하고, 제1 및 제2 임시 경로에서 중복되는 제3 노드를 식별하여, 제3 노드에서 상기 제1 및 제2 임시 경로가 교차하는 상기 제3 임시 경로를 설정할 수 있다.
메트릭 관리부(130)는 설정된 적어도 하나의 제3 임시 경로에 대응하는 가중치를 연산하여 가장 낮은 값을 갖는 제3 임시 경로를 제1 노드 및 제2 노드 사이의 최단 경로로 설정할 수 있다.
메트릭 관리부(130)는 제1 노드와 제2 노드 사이의 최단 경로에 대응하는 제1 가중치와 제1 노드와 제2 노드의 에지에 대응하는 제2 가중치를 비교하여, 제1 가중치가 제2 가중치보다 값이 크면 에지를 메트릭 에지로 설정하고, 그렇지 않으면 세미 메트릭 에지로 설정할 것이다.
프루닝부(150)는 메트릭 정보에 따라 에지를 프루닝하여 대용량 그래프를 희소화할 수 있다. 프루닝부(150)는 에지가 세미 메트릭 에지이면, 에지를 프루닝하여 대용량 그래프를 희소화할 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (9)

  1. 서버가 에지 프루닝을 이용하여 대용량 그래프를 희소화하는 방법에 있어서,
    대용량 그래프에 포함된 적어도 하나의 노드를 식별하고, 상기 노드를 이용하여 인접 노드 리스트를 생성하는 a 단계;
    상기 인접 노드 리스트를 기반으로 상기 대용량 그래프에 포함된 임의의 제1 노드 및 제2 노드를 시작 노드로 하는 임의의 경로를 식별하고, 이를 기반으로 제1 노드 및 제2 노드 사이의 최단 경로를 식별하여 그에 대응하는 제1 가중치를 연산하는 b 단계;
    상기 제1 가중치와 상기 제1 노드 및 제2 노드의 에지에 대응하는 제2 가중치를 비교하여 상기 에지의 메트릭 정보를 설정하는 c 단계; 및
    상기 메트릭 정보에 따라 상기 에지를 프루닝하여 상기 대용량 그래프를 희소화하는 d 단계를 포함하는 대용량 그래프 희소화 방법.
  2. 제1항에 있어서,
    상기 b 단계는,
    상기 제1 노드를 시작 노드로 하는 적어도 하나의 제1 임시 경로를 식별하는 단계;
    상기 제2 노드를 시작 노드로 하는 적어도 하나의 제2 임시 경로를 식별하는 단계;
    상기 제1 및 제2 임시 경로를 기반으로 제1 및 제2 노드 간의 제3 임시 경로를 적어도 하나 설정하는 단계;
    상기 제3 임시 경로에 대응하는 가중치 중 가장 작은 값을 갖는 것을 최단 경로로 설정하는 단계를 포함하되,
    상기 제1 및 제2 임시 경로를 식별하는 단계를 동시에 수행하는 것을 특징으로 하는 대용량 그래프 희소화 방법.
  3. 제2항에 있어서,
    상기 제3 임시 경로를 설정하는 단계는,
    상기 제1 및 제2 임시 경로에 중복되는 제3 노드를 식별하고, 상기 제3 노드에서 상기 제1 및 제2 임시 경로가 교차하는 상기 제3 임시 경로를 설정하는 것을 특징으로 하는 대용량 그래프 희소화 방법.
  4. 제1항에 있어서,
    상기 메트릭 정보는 메트릭 에지 및 세미 메트릭 에지를 포함하여,
    상기 c 단계는,
    상기 제1 가중치가 상기 제2 가중치보다 값이 크면 상기 에지를 메트릭 에지로 설정하고, 그렇지 않으면 세미 메트릭 에지로 설정하는 것을 특징으로 하는 대용량 그래프 희소화 방법.
  5. 제4항에 있어서,
    상기 d 단계는,
    상기 에지가 세미 메트릭 에지이면, 상기 에지를 프루닝하는 것을 특징으로 하는 대용량 그래프 희소화 방법.
  6. 에지 프루닝을 이용하여 대용량 그래프를 희소화하는 장치에 있어서,
    대용량 그래프에 포함된 적어도 하나의 노드를 식별하고, 상기 노드를 이용하여 인접 노드 리스트를 생성하는 리스트 생성부;
    상기 인접 노드 리스트를 기반으로 상기 대용량 그래프에 포함된 임의의 제1 노드 및 제2 노드 사이의 최단 경로를 식별하고, 그에 대응하는 제1 가중치를 연산하며, 상기 제1 가중치와 상기 제1 노드 및 제2 노드의 에지에 대응하는 제2 가중치를 비교하여 상기 에지의 메트릭 정보를 설정하는 메트릭 관리부; 및
    상기 메트릭 정보에 따라 상기 에지를 프루닝하여 상기 대용량 그래프를 희소화하는 프루닝부를 포함하는 대용량 그래프 희소화 장치.
  7. 제6항에 있어서,
    상기 메트릭 제어부는,
    상기 제1 및 제2 노드를 시작 노드로 하는 적어도 하나의 제1 및 제2 임시 경로를 각각 식별하고, 상기 제1 및 제2 임시 경로에서 중복되는 제3 노드를 식별하여, 상기 제3 노드에서 상기 제1 및 제2 임시 경로가 교차하는 적어도 하나의 제3 임시 경로를 설정하며, 상기 제3 임시 경로에 대응하는 가중치 중 가장 작은 값을 갖는 것을 최단 경로로 설정하는 것을 특징으로 하는 대용량 그래프 희소화 장치.
  8. 제6항에 있어서,
    상기 메트릭 정보는 메트릭 에지 및 세미 메트릭 에지를 포함하여,
    상기 메트릭 관리부는,
    상기 제1 가중치가 상기 제2 가중치보다 값이 크면 상기 에지를 메트릭 에지로 설정하고, 그렇지 않으면 세미 메트릭 에지로 설정하는 것을 특징으로 하는 대용량 그래프 희소화 장치.
  9. 제8항에 있어서,
    상기 프루닝부는,
    상기 에지가 세미 메트릭 에지이면, 상기 에지를 프루닝하는 것을 특징으로 하는 대용량 그래프 희소화 장치.
KR1020200008620A 2019-01-30 2020-01-22 에지 프루닝을 이용한 그래프 희소화 방법 및 장치 KR102279323B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190011960 2019-01-30
KR1020190011960 2019-01-30

Publications (2)

Publication Number Publication Date
KR20200094674A true KR20200094674A (ko) 2020-08-07
KR102279323B1 KR102279323B1 (ko) 2021-07-20

Family

ID=72049874

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008620A KR102279323B1 (ko) 2019-01-30 2020-01-22 에지 프루닝을 이용한 그래프 희소화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102279323B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128233A (ko) * 2021-03-12 2022-09-20 모셔널 에이디 엘엘씨 운전 데이터 기반 공간 계획

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093158A (ko) * 2017-02-09 2018-08-21 서울대학교산학협력단 그래프 도달가능성 기반 최단거리경로 탐색 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180093158A (ko) * 2017-02-09 2018-08-21 서울대학교산학협력단 그래프 도달가능성 기반 최단거리경로 탐색 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220128233A (ko) * 2021-03-12 2022-09-20 모셔널 에이디 엘엘씨 운전 데이터 기반 공간 계획
US11946749B2 (en) 2021-03-12 2024-04-02 Motional Ad Llc Driving data guided spatial planning

Also Published As

Publication number Publication date
KR102279323B1 (ko) 2021-07-20

Similar Documents

Publication Publication Date Title
Rahimian et al. Ja-be-ja: A distributed algorithm for balanced graph partitioning
US9317536B2 (en) System and methods for mapping and searching objects in multidimensional space
RU2607621C2 (ru) Способ, система и машиночитаемый носитель данных для группирования в социальных сетях
CN104462260B (zh) 一种基于k-核的社交网络中的社区搜索方法
JP5014398B2 (ja) 検索データ管理装置
Alfarrarjeh et al. Scalable spatial crowdsourcing: A study of distributed algorithms
JP2005327299A (ja) オブジェクトの類似性を異種の関係に基づいて判定するための方法およびシステム
Lee et al. Efficient and customizable data partitioning framework for distributed big RDF data processing in the cloud
US8965934B2 (en) Method and apparatus for facilitating answering a query on a database
TWI652586B (zh) 基於社交網路的群組查找方法和裝置
CN102810113A (zh) 一种针对复杂网络的混合型聚类方法
Deng et al. An efficient online direction-preserving compression approach for trajectory streaming data
Ho et al. Distributed graph database for large-scale social computing
Wijayanto et al. Implementation of multi-criteria collaborative filtering on cluster using Apache Spark
Sadineni Comparative study on skyline query processing techniques on big data
CN103646035B (zh) 一种基于启发式方法的信息搜索方法
Yin et al. Efficient distributed skyline computation using dependency-based data partitioning
KR20200094674A (ko) 에지 프루닝을 이용한 그래프 희소화 방법 및 장치
Rodríguez-Mazahua et al. Horizontal partitioning of multimedia databases using hierarchical agglomerative clustering
CN108470251B (zh) 基于平均互信息的社区划分质量评价方法及系统
Caminero et al. P2P-based resource discovery in dynamic grids allowing multi-attribute and range queries
US20240104304A1 (en) Methods and apparatuses for estimating word segment frequency in differential privacy protection data
Xu et al. DLCD-CCE: A local community detection algorithm for complex IoT networks
Kargar et al. Teamexp: Top-k team formation in social networks
CN103051476A (zh) 基于拓扑分析的网络社区发现方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant