KR102426013B1 - 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법 - Google Patents

대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법 Download PDF

Info

Publication number
KR102426013B1
KR102426013B1 KR1020200087574A KR20200087574A KR102426013B1 KR 102426013 B1 KR102426013 B1 KR 102426013B1 KR 1020200087574 A KR1020200087574 A KR 1020200087574A KR 20200087574 A KR20200087574 A KR 20200087574A KR 102426013 B1 KR102426013 B1 KR 102426013B1
Authority
KR
South Korea
Prior art keywords
node
testing
change
graph
super
Prior art date
Application number
KR1020200087574A
Other languages
English (en)
Other versions
KR20220009184A (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 KR1020200087574A priority Critical patent/KR102426013B1/ko
Priority to PCT/KR2020/016446 priority patent/WO2022014793A1/ko
Priority to JP2020212875A priority patent/JP7227629B2/ja
Priority to US17/154,544 priority patent/US20220019921A1/en
Publication of KR20220009184A publication Critical patent/KR20220009184A/ko
Application granted granted Critical
Publication of KR102426013B1 publication Critical patent/KR102426013B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/173Customisation support for file systems, e.g. localisation, multi-language support, personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

다양한 실시예들은 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법을 제공할 수 있다. 다양한 실시예들에 따른 전자 장치 및 그의 동작 방법은, 대규모 그래프로부터 요약되는 요약 그래프 및 대규모 그래프와 요약 그래프 간 차이를 나타내는 교정 정보를 저장하고, 대규모 그래프에서 변경 엣지를 검출하고, 변경 엣지에 기반하여, 변경 엣지에 의해 연결되는 변경 노드들을 검출하고, 변경 노드들의 각각에 기반하여, 요약 그래프 및 교정 정보를 업데이트하도록 구성될 수 있다.

Description

대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법{ELECTRONIC DEVICE FOR INCREMENTAL LOSSLESS SUMMARIZATION OF MASSIVE GRAPH AND OPERATING METHOD THEREOF}
다양한 실시예들은 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법에 관한 것이다.
그래프(graph)란 임의의 대상과 그 대상들 간의 관계를 나타내는 자료구조로서 다양하고 수많은 데이터들을 표현할 수 있다. 대표적인 예시로, 온라인 소셜네트워크(사용자간 연결), 월드와이드웹(웹페이지간의 연결), E-commerce에서의 상품 구매 내역(고객과 상품간의 연결), 심층학습 모델(뉴런간 연결) 등이 있다. 최근, 빅데이터 시대가 도래함에 따라, 대용량의 그래프 데이터들이 등장하고 있다. 예를 들어, 월드와이드웹은 55 억개 이상의 웹페이지를 연결하며, 특정 소셜네트워크는 24억명 이상의 사용자를 연결하고 있다.
이러한 대용량 데이터는 컴퓨터의 메인 메모리나 캐시 메모리의 용량을 넘어서기 때문에 분석에 많은 어려움이 있다. 이는 대부분 그래프 분석 알고리즘이 그래프 전부를 메인 메모리에 저장하는 상황을 가정하기 때문이다. 이러한 문제를 해결하는 한 가지 방법은, 그래프 데이터가 메인 메모리에 저장될 수 있도록 압축하여 저장하는 것이다.
다양한 실시예들은, 동적 대규모 그래프에 대해 점진적 무손실 요약이 가능한 전자 장치 및 그의 동작 방법을 제공할 수 있다.
다양한 실시예들은 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법을 제공할 수 있다.
다양한 실시예들에 따른 전자 장치의 동작 방법은, 대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하는 동작, 상기 대규모 그래프에서 변경 엣지를 검출하는 동작, 상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하는 동작, 및 상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작을 포함할 수 있다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 판독 가능한 기록 매체에 저장되는 것으로, 대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하는 동작, 상기 대규모 그래프에서 변경 엣지를 검출하는 동작, 상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하는 동작, 및 상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작을 실행할 수 있다.
다양한 실시예들에 따른 전자 장치는, 메모리, 및 상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고, 상기 프로세서는, 대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하고, 상기 대규모 그래프에서 변경 엣지를 검출하고, 상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하고, 상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하도록 구성될 수 있다.
다양한 실시예들에 따르면, 전자 장치는 무손실 그래프 요약 기법에 따라 대규모 그래프로부터 생성되는 요약 그래프 및 교정 정보를 효율적으로 관리할 수 있다. 즉 전자 장치는 동적 대규모 그래프에 대해 점진적 무손실 요약이 가능하다. 구체적으로, 전자 장치는 대규모 그래프에서 변경이 발생될 때마다, 대규모 그래프를 다시 요약하지 않고, 대규모 그래프에 대해 이미 생성된 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이에 따라, 전자 장치는, 대규모 그래프의 변경에도 불구하고, 요약 그래프 및 교정 정보를 시간 효율적으로 업데이트할 수 있다.
도 1은 다양한 실시예들에 따른 무손실 그래프 요약 기법을 설명하기 위한 도면이다.
도 2는 다양한 실시예들에 따른 점진적 무손실 요약 기법을 설명하기 위한 도면이다.
도 3 및 도 4는 다양한 실시예들에 따른 점진적 무손실 요약을 위한 알고리즘들을 나타내는 도면들이다.
도 5는 다양한 실시예들에 따른 전자 장치를 도시하는 도면이다.
도 6은 다양한 실시예들에 따른 전자 장치의 동작 방법을 도시하는 도면이다.
도 7은 도 6의 요약 그래프 및 교정 정보 업데이트 동작을 도시하는 도면이다.
도 8은 도 7의 테스팅 노드를 위한 슈퍼 노드 결정 동작을 도시하는 도면이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 설명된다.
다양한 실시예들에 따른 전자 장치 및 그의 동작 방법은 무손실 그래프 요약 기법에 따라, 대규모 그래프를 요약할 수 있다. 무손실 그래프 요약 기법은 대규모 그래프로부터 검출되는 복수 개의 노드(node)들과 노드들을 연결하는 엣지(edge)들로부터 요약되는 적어도 하나의 슈퍼 노드(supernode)와 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지(superedge)로 이루어지는 요약 그래프, 및 대규모 그래프와 요약 그래프 간 차이를 나타내는 교정 정보로 압축하는 기법이다. 슈퍼 노드는 적어도 하나의 노드를 포함하는 집합으로 구성되며, 슈퍼 엣지는 하나의 슈퍼 노드로부터 인출되어 인입되거나, 두 개의 슈퍼 노드들을 연결하며, 슈퍼 엣지의 존재는 모든 노드들 간 엣지들이 존재함을 나타낼 수 있다. 이러한 무손실 그래프 요약 기법의 목표는 요약 그래프의 크기, 특히 슈퍼 엣지의 개수에 따른 크기와 교정 정보의 크기의 합을 최소화하면서, 대규모 그래프를 요약하는 것이다. 무손실 그래프 요약 기법에 따르면, 요약 그래프와 교정 정보를 함께 사용하여, 원래의 대규모 그래프가 복원될 수 있다.
다양한 실시예에 따르면, 특정 노드의 인접 노드들의 정보를 정확하게 그리고 빠르게 구할 수 있으므로, 페이지랭크(PageRank)나 데이크스트라(Dijkstra) 알고리즘 등 기존 그래프 알고리즘을 대부분 그대로 사용할 수 있다. 또한 요약 그래프 또한 그래프의 형태를 갖추므로, 기존의 그래프 압축 방법을 사용하여 추가적으로 그래프의 저장 공간을 줄이는 것이 가능하다.
다양한 실시예들에 따르면, 전자 장치 및 그의 동작 방법은, 실시간으로 데이터의 갱신이 발생하는 동적인 대규모 그래프의 점진적 무손실 요약 기법을 제공할 수 있다. 그래프의 점진적 요약 기법은, 처음에는 공 그래프(empty graph) 상태로 시작하여, 시간에 따라 엣지가 한 개씩 추가되거나 제거되는 환경에서의 그래프 요약 기법을 나타낼 수 있다. 그래프에서 업데이트가 발생한 후의 요약을 구해야 하는 경우, 처음부터 그래프 요약을 다시 진행해야 하는 비효율성을 가진 기존의 일괄 처리 알고리즘에 반해서, 점진적 무손실 요약 기법의 경우에는 업데이트가 된 부분에 대해서만 결과를 수정할 수 있다. 최신 일괄 처리 알고리즘을 이용해 그래프 요약을 처음부터 다시 진행하는 것과 비교했을 때, 점진적 무손실 요약 기법을 사용하여 업데이트 하는 것이 최대 천만 배 빠를 수 있다.
도 1은 다양한 실시예들에 따른 무손실 그래프 요약 기법을 설명하기 위한 도면이다.
도 1을 참조하면, 다양한 실시예들에서 사용되는 용어들과 개념들이 정의될 수 있다.
그래프 G = (V, E)는 노드 집합(V)과 엣지 집합(E)으로 구성되는 대규모 그래프를 나타내며, 비방향 그래프일 수 있다. 각 엣지({u,v} ∈ E)는 순서가 정해지지 않은 한 쌍의 개별 노드(u,v ∈ V)들을 연결한다. 노드(u)의 이웃, 즉 인접 노드의 집합이 N(u)⊂V로 나타내며, 노드(u)의 디그리(degree)가 |N(u)|로 정의될 수 있다.
그래프 G* = (S, P)는 그래프 G = (V, E)의 요약 그래프를 나타내며, 슈퍼 노드 집합(S)과 슈퍼 엣지 집합(P)으로 구성될 수 있다. 슈퍼 노드(Su)는 노드(u)를 포함하며, 두 개의 슈퍼 노드(Su, Sv ∈ S)를 연결하는 슈퍼 엣지는 {Su, Sv} ∈ P로 표현될 수 있다.
그래프 G = (V, E)의 요약 그래프 G* = (S, P)에 대해, 인접한 두 개의 슈퍼 노드들 사이의 모든 노드 쌍(예: {u,v} ∈ E})들을 (u≠v 및 {Su, Sv} ∈ P인 경우에만) 연결함으로써 그래프
Figure 112020073690630-pat00001
= (V,
Figure 112020073690630-pat00002
)가 얻어질 수 있다. 이를 통해,
Figure 112020073690630-pat00003
가 G와 비슷하다면 G 가 G를 대략적으로 서술한다고 말할 수 있다. 그리고, 교정 정보(C = (C+, C-), 여기서 C+ := E -
Figure 112020073690630-pat00004
및 C- :=
Figure 112020073690630-pat00005
- E)를 사용하면, 하기 [수학식 1]과 같이 원래 그래프 G = (V, E)는 요약 그래프 G* = (S, P)에서 정확히 복구될 수 있다. 즉, G과 C는 G를 무손실 요약할 수 있다. 따라서, G를 감안할 때, 손실 없는 요약 문제는 가장 간결한 G*와 C를 찾는 것일 수 있다.
Figure 112020073690630-pat00006
엣지 변경의 시퀀스(
Figure 112020073690630-pat00007
)로 완전 동적 그래프 스트림이 정의될 수 있다. 각 엣지 변경(et)은 엣지 추가(et = {u,v}+) 또는 엣지 삭제(et = {u,v}-) 중 적어도 하나를 포함할 수 있다. 엣지 추가(et = {u,v}+)에 대해, u 또는 v 중 적어도 하나는 현재 시간(t)까지 없었던 새로운 노드일 수 있다. 엣지 추가 및 삭제의 시퀀스는, 새 노드와 삭제된 노드가 있는 동적 그래프를 나타낼 수 있을 만큼 충분히 표현될 수 있다.
공 그래프(G0 = )는 엣지 변경의 시퀀스(
Figure 112020073690630-pat00008
)에 따라 진화될 수 있다. 시간(t)에 따른 그래프를 Gt=(Vt, Et)로 정의할 수 있다. 여기서 Vt와 Et는 귀납적 방법으로 얻어질 수 있다. (1) 추가(et-1 = {u,v}+)의 경우, Et = Et-1∪{{u,v}}이고 Vt = Vt-1∪{u,v}이며, (2) 삭제(et-1 = {u-v}-)의 경우, Et = Et1 \ {{u,v}} 이고 Vt = Vt1일 수 있다. 이하에서는, 모든 엣지 추가에 대해 {u,v}
Figure 112020073690630-pat00009
Et-1을 가정하고, 모든 엣지 삭제에 대해 {u,v} ∈ Et-1을 가정할 수 있다. 즉, 그래프 스트림이 타당하다 가정할 수 있다.
엣지 변경의 시퀀스(
Figure 112020073690630-pat00010
)에서 진화하는 완전 동적 그래프(Gt)에 대해, 가장 간결한 요약 그래프(
Figure 112020073690630-pat00011
) 및 교정 정보(Ct)는 각 엣지 변경(et)에 대응하여 변경될 수 있다. 따라서, 각 엣지 변경(et)에 대응하여 요약 그래프(
Figure 112020073690630-pat00012
)와 교정 정보(Ct+1)를 얻기 위한 점진적 업데이트가 매우 바람직할 수 있다. 이는, 하기 [표 1]에서 새로운 문제, 즉 점진적 무손실 요약으로 정리될 수 있다.
Figure 112020073690630-pat00013
따라서 점진적 무손실 요약 기법의 목적 함수(φ(t))는 각 엣지 변경(et)에 대응하여, 요약 그래프(
Figure 112020073690630-pat00014
)의 크기, 특히 슈퍼 엣지의 개수에 따른 크기와 교정 정보(Ct)의 크기의 합을 최소화하면서, 요약 그래프와 교정 정보를 업데이트하는 것이다. 여기서 슈퍼 엣지의 수와 비교하여 슈퍼 노드의 수는 미미해 단순성을 위해 무시될 수 있다.
도 2는 다양한 실시예들에 따른 점진적 무손실 요약 기법을 설명하기 위한 도면이다.
도 2를 참조하면, 단계 0에서 변경 엣지({u,v})가 주어진다. 정확히는 현재 시간(t)에 대규모 그래프에 엣지({u,v})가 추가되거나 삭제됨(예: et = {u,v}+ 또는 {u,v}-)에 따라 변경 엣지({u,v})가 주어진다. 여기서 변경 엣지({u,v})에 기반하여 변경 노드(u, v)들을 식별한다. 이에 대응하여, 단계 1, 단계 2, 단계 3, 및 단계 4에서, 각 변경 노드(u, v)와 관련된 트라이얼(trial)이 진행된다. 이 때 변경 노드(u, v)와 관련된 트라이얼은 임의의 노드(x)에 대해 진행되고, 임의의 노드(x)의 슈퍼 노드(Sx)를 변경하려는 시도이다. 이 때 변경 노드(u)와 관련된 트라이얼이 종료된 후 다음 변경 노드(v)와 관련된 트라이얼이 진행된다.
구체적으로, 단계 1에서 테스팅 풀(testing pool)(TP(u))로부터 테스팅 노드(testing node)(y)가 선택된다. 테스팅 풀(TP(u))는 변경 노드(u)와 관련된 트라이얼을 진행할 수 있는 노드 집합을 나타낸다. 테스팅 노드(y)는 현재 시간(t)에서 트라이얼이 진행되는 노드를 나타내며, 현재 시간(t)의 모든 테스팅 노드(y)의 집합((TN(u) ⊆ TP(u))으로 표현될 수 있다. 그리고 단계 2에서, 후보 풀(candidate pool)(CP(y) ⊆ V)로부터 후보 노드(z)가 선택된다. 후보 노드(z)는 테스팅 노드(y)가 이동하려고 시도하는 슈퍼 노드의 노드를 나타낸다. 이 이동은 거부되어 되돌려질 수 있다. 후보 풀(CP(y) ⊆ V)은 테스팅 노드(y)에 주어지는 가능한 모든 후보 노드(z)의 집합을 나타낸다. 이 후 단계 3에서, 테스팅 노드(y)가 후보 노드(z)의 슈퍼 노드(Sz)로 이동되는데, 단계 4에서 목적 함수(φ), 즉 요약 그래프 및 교정 정보의 크기에 기반하여, 이동의 수락 여부가 결정된다. 즉 이동을 유지할 지 또는 복귀할 지를 결정한다. 이 때 변경 노드(u)와 관련된 트라이얼은 테스팅 풀(TP(u))의 모든 테스팅 노드(y)에 대해 반복된다.
목적 함수(φ)을 최소화한 최적의 슈퍼 노드 집합(S)을 찾는 것은 쉽지 않지만, 현재 슈퍼 노드 집합(S)에 대한 최적의 슈퍼 엣지 집합(P)과 교정 정보(C)를 찾는 것은 간단하다. 각 슈퍼 엣지({A, B})에 대해,
Figure 112020073690630-pat00015
Figure 112020073690630-pat00016
Figure 112020073690630-pat00017
을 각각 슈퍼 노드(A, B)들 사이의 기존 및 잠재적 엣지 집합으로 나타낼 수 있다. 그러면 슈퍼 노드(A, B)들 사이의 엣지(EAB)는 하기 [표 2]와 같이 최적으로 인코딩될 수 있다.
Figure 112020073690630-pat00018
엣지(EAB)를 교정 정보(C+)에 추가하면, 엣지(EAB)의 크기(|EAB|)에 의해 목적 함수(φ)가 증가할 수 있다. 한편, 슈퍼 엣지({A, B})를 슈퍼 엣지 집합(P)에 추가하고,
Figure 112020073690630-pat00019
를 교정 정보(C-)에 추가하면,
Figure 112020073690630-pat00020
에 의해 목적 함수(φ)가 증가할 수 있다.
상기 [표 1]과 관련된 기본적인 스트리밍 알고리즘으로써 MoSSo-Greedy가 제안될 수 있다. MoSSo-Greedy에 따르면, 엣지 {u,v}를 추가하거나 삭제할 때 다른 노드를 고정하는 동안 MoSSo-Greedy가 greedy하게 u와 v를 이동함으로써 목적 함수 φ를 최소화할 수 있다. 즉, 도입된 개념의 관점에서, MoSSo-Greedy는 TP(u) = TN(u) = {u}를 설정하고 CP(y) = V에서 후보를 선택하여 φ을 최소화할 수 있다.
다만, MoSSo-Greedy은 후술되는 다른 알고리즘과는 달리 |TN(u)|가 정확히 1임에도 불구하고, 이 접근법은 가장 우수한 후보를 찾기 위해 모든 슈퍼 노드를 고려하기 때문에 계산적으로 많은 비용이 들 수 있다. 또한 후술되는 바와 같이 로컬 최적 상태에 고착될 가능성이 있다. 따라서, 한계 1(Obstructive Obsession)로서, MoSSo-Greedy는 슈퍼노드를 재편성하기 위한 탐색이 부족하여 노드들은 초기에 배정된 슈퍼노드에 머무르는 경향이 있을 수 있다. 이러한 정체로 인해 새로운 노드가 기존 슈퍼 노드로 이동하는 것이 방지될 수 있다. 이는 장기적으로 압축률이 저하되는 결과를 초래할 수 있다.
한편, 무작위 검색을 기반으로 하는 다른 스트리밍 기준 알고리즘으로써 MoSSo-MCMC가 제안될 수 있다. MoSSo-MCMC에 따르면, 최적의 후보를 찾지 않아도 되기 때문에 각 트라이얼의 연산 비용을 MoSSo-Greedy에 비해 대폭 줄여 더 많은 트라이얼을 저렴하게 할 수 있다. 게다가 MoSSo-MCMC의 무작위성은 로컬 최적에서 탈출하고 변화하는 최적 상태에 원활하게 대처하는 것을 도울 수 있다. 마르코프 체인 몬테 카를로(MCMC)에 기초한 무작위 검색은 확률적 블록 모델(SBM)의 추론에 효과적이라는 것이 입증되었다. SBM의 커뮤니티와 그래프 요약의 슈퍼 노드 사이의 흥미로운 관계에 초점을 맞추고, 동일한 커뮤니티에 속한 노드는 유사한 연결을 가질 가능성이 높기 때문에 이들을 슈퍼 노드로 그룹화하면 φ의 상당한 감소를 달성할 수 있다. {u,v}+ 또는 {u,v}-의 각 변경에 대해, MoSSo-MCMC는 u에 대해 하기 [표 3]과 같은 절차를 수행한 다음, v에 대해서도 정확히 동일한 절차를 수행한다. (1)에서 u의 이웃, 즉 인접 노드는 입력 변경의 영향을 가장 많이 받기 때문에 테스팅 노드로 사용된다. MoSSo-MCMC에서의 트라이얼은 MoSSo-Greedy에서의 트라이얼보다 계산적으로 저렴하기 때문에 각 변경에 대해 deg(u) 번 만큼의 트라이얼을 수행할 수 있다.
Figure 112020073690630-pat00021
다만, MoSSo-MCMC는 속도 및 압축 속도의 병목 현상인 두 가지 제한 사항들을 가질 수 있다. 따라서, 한계 2(Costly Neighborhood Retrievals)로서, 입력 스트림에서 각 변경 사항 {u,v}+ 또는 {u,v}-를 처리하기 위해 MoSSo-MCMC는 현재 G* 및 C에서 많은 노드의 이웃 항목을 검색할 수 있다. 구체적으로는 (1)에서 u의 이웃을 검색하고, 각 테스팅 노드 y에 대해 적어도 한 노드의 이웃을 검색해 (2)에서 후보를 선택할 수 있다. 즉, 적어도 2 + |TN(u)| +|TN(v)| = 2+deg(u)+deg(v) 만큼의 이웃 검색이 발생할 수 있다. 따라서, MoSSo-MCMC의 시간 복잡성은 그래프 크기의 증가에 의해 치명적인 영향을 받는데, 이는 디그리가 높은 노드의 출현과 평균 디그리의 증가로 이어질 수 있다. 아울러, 한계 3(Redundant Tests)으로서, 제안이 수락되려면 φ 축소로 이어지는 유망 후보를 제안 확률분포에서 추출할 필요가 있다. 그러나 SBM에서 성공적인 것으로 입증된 확률분포는 해당 문제에서는 대부분의 제안이 거부되어 계산 시간이 낭비될 수 있다.
도 3 및 도 4는 다양한 실시예들에 따른 점진적 무손실 요약을 위한 알고리즘들을 나타내는 도면들이다.
상기와 같은 기본 스트리밍 알고리즘들이 겪는 한계들을 해결하기 위한 3가지 아이디어와 함께 MoSSo의 예비 버전인 MoSSo-Simple이 제시될 수 있다. MoSSo-Simple은 도 3에 도시된 바와 같은 알고리즘1과 같이 구현될 수 있다. 각 변경 {u,v}+ 또는 {u,v}-에 대응하여, MoSSo-Simple은 u에 대해 하기 [표 4]와 같은 절차를 수행한 다음, v에 대해서도 정확히 동일한 절차를 수행할 수 있다.
Figure 112020073690630-pat00022
MoSSo-Simple에 따르면, MoSSo-MCMC와는 반대로 각 엣지 변경 {u,v}+ 또는 {u,v}-에 대해 (1) 노드의 디그리에 따라 확률적으로 TP(u)에서 TN(u)을 추출하고, (2) 모든 테스팅 노드 y ∈ TP(u)에 대해 CP(y)를 N(u)로 제한한다. 이러한 아이디어는 MoSSo-Simple이 속도와 압축률 면에서 MoSSo-Greedy뿐만 아니라 MoSSo-MCMC를 크게 능가할 수 있게 한다. MoSSo-Simple은 후술되는 세 가지 특징들을 가질 수 있다.
첫 번째 특징은 Careful Selection이다. TN(u)을 형성할 때 MoSSo-Simple은 N(u)에서 고정된 수의 노드를 샘플링하고 이를 사용하여 TP(u)를 생성할 수 있다. 그런 다음 TP(u)에 속한 노드 w에 대해 1/deg(w) 확률로 TN(u)에 추가한다. 실제로 높은 디그리를 가지는 노드는 독특한 연결성을 갖는 경향이 있어 단독 슈퍼 노드를 형성하는 경향이 있을 수 있다. 따라서, 이들을 움직이면 φ의 축소로 이어지는 경우는 드물 것이다. 단, 어떤 노드가 TP(u)에 들어가기 위해선 인접한 이웃의 변화가 필요하므로, 결과적으로 높은 디그리의 노드가 TP(u)에 빈번히 들어간다. 더욱이 일단 테스팅 노드로 선택되면, φ의 변화를 계산하고 최적의 인코딩을 업데이트하는 것은, 이웃이 많기 때문에 계산적으로 비용이 많이 들 수 있다. MoSSo-Simple은 TN(u)을 형성할 때 높은 디그리의 노드를 높은 확률로 걸러냄으로써 중복되고 계산적으로 비용이 많이 드는 시행을 크게 줄여 한계 3(Redundant Tests)을 부분적으로 해결할 수 있다.
두 번째 특징은 Corrective Escape이다. 항상 CP(y)에서 후보를 찾는 대신 탈출 확률 e ∈[0, 1)로 y를 슈퍼 노드 Sy로부터 분리하고 단독 슈퍼 노드 {y}를 생성하는 시도를 할 수 있다. 요약 그래프의 형성에 유연성을 주입함으로써, Corrective Escape라 부르는 이 특징은 슈퍼 노드가 장기적으로 잠재적으로 더 나은 방식으로 재편될 수 있도록 도울 수 있다. 따라서, 이 특징은 한계 1에 대응해 압축률을 상당히 개선할 수 있다.
세 번째 특징은 Fast Random이다. 모든 테스팅 노드 y ∈ TN(u)에 대해 CP(y)를 N(u)로 제한함으로써 MoSSo-Simple은 필요한 이웃 검색 횟수를 줄여 한계 2(Costly Neighborhood Retrievals)를 부분적으로 해결할 수 있다. 각 입력 변경에 대해 MoSSo-MCMC가 주변 검색 2 + deg(u) + deg(v) 횟수를 반복하는 동안 MoSSo-Simple은 N(u) 및 N(v)만 검색할 수 있다. 더욱이 N(u)에는 여전히 유망한 후보가 포함되어 있으므로 CP(y)를 N(u)로 제한해도 압축률을 손상시키지 않을 수 있다.
다만, 위의 특징들이 성공적으로 몇몇 문제점을 해소했지만 다른 문제들이 남아있다. 한계 2(Costly Neighborhood Retrievals)와 관련하여, MoSSo-Simple은 입력 변경 시마다 주변 검색 횟수를 2회로 줄이지만, 검색 결과는 여전히 규모 가변성 병목 현상으로 남아 있을 수 있다. 노드의 이웃을 현재 G 및 C의 이웃에서 검색하는데 평균
Figure 112020073690630-pat00023
시간이 걸리며, 여기서
Figure 112020073690630-pat00024
는 입력 그래프의 평균 디그리이다. 한편, 많은 실제 그래프가 시간이 지남에 따라 밀도가 높아진다는 것은 잘 알려져 있다. 구체적으로는 엣지의 개수가 노드의 개수에 있어 선형보다 빨리 증가하여 시간이 지남에 따라
Figure 112020073690630-pat00025
의 성장을 이끈다. 따라서 전체 이웃을 검색하는 것은 규모 가변성에 큰 위협이 될 수 있다. 아울러, 한계 3(Redundant Tests)과 관련하여, MoSSo-Simple은 노드의 디그리를 사용해 중복 시행을 줄이지만, 입력 노드 주변의 구조적 정보를 충분히 활용하지 않고 N(u)에서 무작위 후보를 도출하는 단점이 있다. 구조적 정보에 근거한 신중한 후보 선정이 중복 테스트 횟수를 더욱 줄이고, 따라서 간결한 요약이 신속하게 이루어지도록 하는 것이 바람직할 수 있다.
상기한 MoSSo-Simple의 단점을 극복하기 위해, MoSSo가 제시될 수 있다. MoSSo는, (1) 코스(coarse) 클러스터링을 채택하여 신중한 후보 선정을 하고, (2) 전체 이웃 복구 대신 신규 샘플링 방법인 getRandomNeighbor를 사용한다. 이러한 특징들을 갖춘 MoSSo는 각 변경 당 상수 시간에 가까운 처리 시간과 심지어 최적의 일괄처리 알고리즘에 버금가는 압축률을 달성할 수 있다. MoSSo는 기본적으로 도 3에 도시된 바와 같은 알고리즘 1가 같이 구현될 수 있다. 각 변경 {u,v}+ 또는 {u,v}-에 대응하여, MoSSo는 MoSSo-Simple은 u에 대해 하기 [표 5]와 같은 절차를 수행한 다음, v에 대해서도 정확히 동일한 절차를 수행할 수 있다.
Figure 112020073690630-pat00026
MoSSo의 요지는 (1) G과 C에서 N(u) 전체를 복구하지 않고 N(u)에서 빠르고 균일하게 이웃을 추출하는 것과 (2) CP(y)를 좁히기 위해 온라인 코스 클러스터링을 사용하는 것 등 두 부분으로 구성될 수 있다. MoSSo는 후술되는 두 가지 특징들을 가질 수 있다.
첫 번째 특징은 Fast Random이다. 한계 2에서 설명된 바와 같이, 규모 가변성을 위해서는 시간이 지남에 따라 증가하는 경향이 있는 평균 디그리의 영향을 덜 받는 이웃 샘플링 방법을 고안하는 것이 불가피 할 수 있다. 따라서, 도 4에 도시된 바와 같은 알고리즘 2에 설명된 getRandomNeighbor이 사용될 수 있다. 이는 N(u) 전체를 복구하지 않고도 균일한 확률로 N(u)의 노드를 신속하게 샘플링할 수 있는 MCMC 방식이다. getRandomNeighbor에 의해 충분한 수의 이웃을 얻은 후, MoSSo는 TP(u)를 샘플링된 이웃으로 제한할 수 있다.
C+, C-, P에 있는 각 노드의 이웃들이 해시 테이블에 저장되어 있다고 가정하고, N(Su) := {Sv ∈ S |{Su, Sv } ∈ P}를 슈퍼 노드의 이웃 슈퍼 노드 집합으로 표기하자. 그러면 v가 N(u)에 포함되는지를 하기 [표 6]과 같이 빠르게 확인할 수 있다.
Figure 112020073690630-pat00027
u의 이웃들은 (1) C+(u)에 있는 것들과 (2) N(Su)에 있는 어떤 슈퍼 노드에 있는 것들의 두 개의 분리된 집합으로 나뉠 수 있다. 그런 다음, 첫 번째 집합(확률
Figure 112020073690630-pat00028
) 또는 두 번째 집합(확률 1-
Figure 112020073690630-pat00029
)에서 노드를 균일하게 추출하여 u의 이웃을 균일하게 샘플링할 수 있다. 첫 번째 집합은 이미 구체화되었기 때문에, 그것으로부터의 균일한 샘플링은 간단할 수 있다. 남은 과제는 두 번째 집합을 구체화하지 않고도 노드를 균일하게 샘플링 하는 것이다. 이 도전과제는 하기 [표 7]과 같이 설명되며, 여기서 N(Su)를 {S1, ..., Sk }로 나타낼 수 있다.
Figure 112020073690630-pat00030
상기 [표 7]의 솔루션 내 식 (2)에 따라 슈퍼 노드를 샘플링할 때는 하기 [표 8]에서 설명되는 바와 같이 k가 클 수 있으므로 모든 i ∈ {1, ..., k}에 대해 |Si| 계산을 피하는 것이 바람직할 수 있다.
Figure 112020073690630-pat00031
두 솔루션 모두, N(u)에서 c개의 이웃을 샘플링하는 전체 과정을 설명하는 도 4에 도시된 바와 같은 알고리즘 2에 조합되어 있다.
두 번째 특징은 Careful Selection이다. MoSSo는 φ의 대폭적인 축소로 이어지는 후보를 선택하기 위해 각각 유사한 연결성을 가진 노드로 구성된 코스 클러스터들을 사용할 수 있다. 특히, MoSSo에서 각 테스팅 노드 y의 후보 풀 CP(y)에는 y와 동일한 클러스터에 속하는 노드들만 포함될 수 있다. 코스 클러스터들은 파인(fine) 클러스터로 생각할 수 있는 슈퍼 노드와 구별될 수 있다.
모든 점진적 그래프 클러스터링 방법들이 코스 클러스터링에 사용될 수 있다. 대표적인 예시로는 min-hashing을 들 수 있다. min-hashing에서 두 노드가 동일한 클러스터에 속할 확률은 두 노드의 이웃의 자카드 유사도에 비례한다. 또한 min-hashing으로 그룹화된 클러스터는 변경에 대응하여 빠르게 업데이트될 수 있다.
이러한 MoSSo는 상수 시간에 가까운 처리 시간 안에 각 엣지 변경을 처리하고, 탁월한 압축률을 보여준다.
다양한 실시예들은 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법을 제공할 수 있다. 다양한 실시예들은, 상술된 MoSSo-Simple 또는 MoSSo를 기반으로, 구현될 수 있다. 즉, 다양한 실시예들에 따른 전자 장치 및 그의 동작 방법은, 도 3 및 도 4에 도시된 바와 같은 알고리즘들과 관련될 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치(100)를 도시하는 도면이다.
도 5를 참조하면, 다양한 실시예들에 따른 전자 장치(100)는 입력 모듈(110), 출력 모듈(120), 메모리(130), 또는 프로세서(140) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 전자 장치(100)의 구성 요소들 중 적어도 어느 하나가 생략될 수 있으며, 적어도 하나의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서, 전자 장치(100)의 구성 요소들 중 적어도 어느 두 개가 하나의 통합된 회로로 구현될 수 있다.
입력 모듈(110)은 전자 장치(100)의 적어도 하나의 구성 요소에 사용될 신호를 입력할 수 있다. 입력 모듈(110)은, 사용자가 전자 장치(100)에 직접적으로 신호를 입력하도록 구성되는 입력 장치, 주변의 변화를 감지하여 신호를 발생하도록 구성되는 센서 장치, 또는 외부 기기로부터 신호를 수신하도록 구성되는 수신 장치 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 입력 장치는 마이크로폰(microphone), 마우스(mouse) 또는 키보드(keyboard) 중 적어도 어느 하나를 포함할 수 있다. 어떤 실시예에서, 입력 장치는 터치를 감지하도록 설정된 터치 회로(touch circuitry) 또는 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로 중 적어도 어느 하나를 포함할 수 있다.
출력 모듈(120)은 전자 장치(100)의 외부로 정보를 출력할 수 있다. 출력 모듈(120)은, 정보를 시각적으로 출력하도록 구성되는 표시 장치, 정보를 오디오 신호로 출력할 수 있는 오디오 출력 장치, 또는 정보를 무선으로 송신할 수 있는 송신 장치 중 적어도 어느 하나를 포함할 수 있다. 예를 들면, 표시 장치는 디스플레이, 홀로그램 장치 또는 프로젝터 중 적어도 어느 하나를 포함할 수 있다. 일 예로, 표시 장치는 입력 모듈(110)의 터치 회로 또는 센서 회로 중 적어도 어느 하나와 조립되어, 터치 스크린으로 구현될 수 있다. 예를 들면, 오디오 출력 장치는 스피커 또는 리시버 중 적어도 어느 하나를 포함할 수 있다.
일 실시예에 따르면, 수신 장치와 송신 장치는 통신 모듈로 구현될 수 있다. 통신 모듈은 전자 장치(100)에서 외부 기기와 통신을 수행할 수 있다. 통신 모듈은 전자 장치(100)와 외부 기기 간 통신 채널을 수립하고, 통신 채널을 통해, 외부 기기와 통신을 수행할 수 있다. 여기서, 외부 기기는 위성, 기지국, 서버 또는 다른 전자 장치 중 적어도 어느 하나를 포함할 수 있다. 통신 모듈은 유선 통신 모듈 또는 무선 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 유선 통신 모듈은 외부 기기와 유선으로 연결되어, 유선으로 통신할 수 있다. 무선 통신 모듈은 근거리 통신 모듈 또는 원거리 통신 모듈 중 적어도 어느 하나를 포함할 수 있다. 근거리 통신 모듈은 외부 기기와 근거리 통신 방식으로 통신할 수 있다. 예를 들면, 근거리 통신 방식은, 블루투스(Bluetooth), 와이파이 다이렉트(WiFi direct), 또는 적외선 통신(IrDA; infrared data association) 중 적어도 어느 하나를 포함할 수 있다. 원거리 통신 모듈은 외부 기기와 원거리 통신 방식으로 통신할 수 있다. 여기서, 원거리 통신 모듈은 네트워크를 통해 외부 기기와 통신할 수 있다. 예를 들면, 네트워크는 셀룰러 네트워크, 인터넷, 또는 LAN(local area network)이나 WAN(wide area network)과 같은 컴퓨터 네트워크 중 적어도 어느 하나를 포함할 수 있다.
메모리(130)는 전자 장치(100)의 적어도 하나의 구성 요소에 의해 사용되는 다양한 데이터를 저장할 수 있다. 예를 들면, 메모리(130)는 휘발성 메모리 또는 비휘발성 메모리 중 적어도 어느 하나를 포함할 수 있다. 데이터는 적어도 하나의 프로그램 및 이와 관련된 입력 데이터 또는 출력 데이터를 포함할 수 있다. 프로그램은 메모리(130)에 적어도 하나의 명령을 포함하는 소프트웨어로서 저장될 수 있으며, 운영 체제, 미들 웨어 또는 어플리케이션 중 적어도 어느 하나를 포함할 수 있다.
프로세서(140)는 메모리(130)의 프로그램을 실행하여, 전자 장치(100)의 적어도 하나의 구성 요소를 제어할 수 있다. 이를 통해, 프로세서(140)는 데이터 처리 또는 연산을 수행할 수 있다. 이 때 프로세서(140)는 메모리(130)에 저장된 명령을 실행할 수 있다.
다양한 실시예들에 따르면, 프로세서(140)는 무손실 그래프 요약 기법에 따라, 대규모 그래프를 요약할 수 있다. 무손실 그래프 요약 기법은 대규모 그래프로부터 검출되는 복수 개의 노드들과 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어지는 요약 그래프, 및 대규모 그래프와 요약 그래프 간 차이를 나타내는 교정 정보로 압축하는 기법이다. 이 때 프로세서(140)는 요약 그래프의 크기, 특히 슈퍼 엣지의 개수에 따른 크기와 교정 정보의 크기의 합을 최소화하면서, 대규모 그래프를 요약할 수 있다. 이를 통해, 프로세서(140)는 메모리(130)에, 요약 그래프 및 교정 정보를 저장할 수 있다.
다양한 실시예들에 따르면, 프로세서(140)는 동적인 대규모 그래프에 대해, 점진적 무손실 요약 기법에 따라, 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이 때 프로세서(140)는 상술된 MoSSo-Simple 또는 MoSSo를 기반으로, 요약 그래프 및 교정 정보를 업데이트할 수 있다. 즉 프로세서(140)는 도 3 및 도 4에 도시된 바와 같은 알고리즘들을 기반으로, 동작할 수 있다.
프로세서(140)는 대규모 그래프에서 변경 엣지를 검출하고, 변경 엣지에 기반하여, 변경 엣지에 의해 연결되는 변경 노드들을 검출할 수 있다. 여기서, 변경 엣지는, 대규모 그래프에 추가되는 엣지 또는 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함할 수 있다. 그리고, 프로세서(140)는 변경 노드들의 각각에 기반하여, 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이를 위해, 프로세서(140)는 변경 노드들의 각각의 적어도 하나의 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정할 수 있다. 이에 따라, 프로세서(140)는 인접 노드를 위한 슈퍼 노드의 변경에 기반하여, 요약 그래프 및 교정 정보를 업데이트할 수 있다.
도 6은 다양한 실시예들에 따른 전자 장치(100)의 동작 방법을 도시하는 도면이다.
도 6을 참조하면, 전자 장치(100)는 210 동작에서 무손실 그래프 요약 기법에 따른 요약 그래프 및 교정 정보를 저장하고 있을 수 있다. 이를 위해, 프로세서(140)는 무손실 그래프 요약 기법에 따라, 대규모 그래프를 요약할 수 있다. 무손실 그래프 요약 기법은 대규모 그래프로부터 검출되는 복수 개의 노드들과 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어지는 요약 그래프, 및 대규모 그래프와 요약 그래프 간 차이를 나타내는 교정 정보로 압축하는 기법이다. 이 때 프로세서(140)는 요약 그래프의 크기, 특히 슈퍼 엣지의 개수에 따른 크기와 교정 정보의 크기의 합을 최소화하면서, 대규모 그래프를 요약할 수 있다. 이를 통해, 프로세서(140)는 메모리(130)에, 요약 그래프 및 교정 정보를 저장할 수 있다.
전자 장치(100)는 220 동작에서 대규모 그래프의 변경을 검출할 수 있다. 이에 대응하여, 전자 장치(100)는 230 동작에서 변경 엣지를 검출할 수 있다. 이 때 변경 엣지는, 대규모 그래프에 추가되는 엣지 또는 상기 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함할 수 있다. 그리고, 전자 장치(100)는 240 동작에서 변경 엣지에 기반하여, 변경 노드들을 검출할 수 있다. 프로세서(140)는 변경 엣지에 의해 연결되어 있는 변경 노드들을 검출할 수 있다. 이를 통해, 전자 장치(100)는 250 동작에서 각 변경 노드에 기반하여, 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이 때 프로세서(140)는 상술된 MoSSo-Simple 또는 MoSSo를 기반으로, 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이에 대해, 도 7을 참조하여, 보다 상세하게 후술될 것이다.
도 7은 도 6의 요약 그래프 및 교정 정보 업데이트 동작을 도시하는 도면이다.
도 7을 참조하면, 전자 장치(100)는 310 동작에서 코스 클러스터들을 업데이트할 수 있다. 코스 클러스터들은 대규모 그래프에서, 유사한 연결성을 갖는 적어도 하나의 노드로 구성되며, 슈퍼 노드와 구별될 수 있다. 프로세서(140)는 점진적 그래프 클러스터링 방법, 예컨대 min-hashing에 기반하여, 코스 클러스터들을 업데이트할 수 있다.
전자 장치(100)는 320 동작에서 변경 노드에 이웃하여, 무작위로 선택되는 정해진 개수의 인접 노드들로 테스팅 풀을 구성할 수 있다. 프로세서(140)는 변경 노드에 이웃한 모든 인접 노드들로 테스팅 풀을 구성하는 것이 아니라, 변경 노드에 이웃하면서, 정해진 개수의 인접 노드들로만 테스팅 풀을 구성할 수 있다. 이 때 프로세서(140)는 도 4에 도시된 바와 같은 알고리즘 2에 설명된 getRandomNeighbor을 사용하여, 정해진 개수의 인접 노드들을 무작위로 선택할 수 있다.
전자 장치(100)는 330 동작에서 테스팅 풀의 일부를 테스팅 노드로 결정할 수 있다. 그리고, 전자 장치(100)는 340 동작에서 테스팅 노드에 대한 트라이얼을 통해, 테스팅 노드를 위한 슈퍼 노드를 결정할 수 있다. 이에 대해, 도 8을 참조하여, 보다 상세하게 후술될 것이다. 여기서, 프로세서(140)는 테스팅 풀의 일부 노드들에 대해, 테스팅 노드로서 340 동작을 각각 수행할 수 있다. 이에 따라, 전자 장치(100)는 350 동작에서 요약 그래프 및 교정 정보를 업데이트할 수 있다.
도 8은 도 7의 테스팅 노드를 위한 슈퍼 노드 결정 동작을 도시하는 도면이다.
도 8을 참조하면, 전자 장치(100)는 410 동작에서 테스팅 노드에 대해 단독 슈퍼 노드로 생성할 지의 여부를 판단할 수 있다. 프로세서(140)는 노드의 탈출 확률에 기반하여, 해당 테스팅 노드를 단독 슈퍼 노드로 생성할 지의 여부를 판단할 수 있다. 410 동작에서 단독 슈퍼 노드로 생성해야 하는 것으로 판단되면, 전자 장치(100)는 420 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 생성할 수 있다. 이 후, 전자 장치(100)는 470 동작으로 진행할 수 있다.
한편, 410 동작에서 단독 슈퍼 노드로 생성하지 않아도 되는 것으로 판단되면, 전자 장치(100)는 430 동작에서 해당 테스팅 노드를 포함하는 코스 클러스터를 확인할 수 있다. 전자 장치(100)는 440 동작에서 테스팅 풀과 코스 클러스터에 공동으로 속하는 노드들로 후보 풀을 구성할 수 있다. 전자 장치(100)는 450 동작에서 후보 풀로부터 후보 노드를 선택할 수 있다. 전자 장치(100)는 460 동작에서 해당 테스팅 노드를 후보 노드의 슈퍼 노드로 이동할 수 있다. 이 후, 전자 장치(100)는 470 동작으로 진행할 수 있다.
전자 장치(100)는 470 동작에서 업데이트되는 요약 그래프 및 교정 정보의 압축 크기가 감소될 것인 지의 여부를 판단할 수 있다. 바꿔 말하면, 전자 장치(100)는 해당 테스팅 노드에 대해, 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화를 계산할 수 있다. 420 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 생성한 경우, 프로세서(140)는 해당 테스팅 노드의 단독 슈퍼 노드로의 생성에 기반하여, 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화를 계산할 수 있다. 한편, 460 동작에서 해당 테스팅 노드를 후보 노드의 슈퍼 노드로 이동한 경우, 프로세서(140)는 해당 테스팅 노드의 후보 노드의 슈퍼 노드로의 이동에 기반하여, 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화를 계산할 수 있다.
470 동작에서 압축 크기가 감소될 것으로 판단되면, 전자 장치(100)는 480 동작에서 해당 테스팅 노드에 대해 현재의 슈퍼 노드를 유지할 수 있다. 즉 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화가 음이면, 전자 장치(100)는 해당 테스팅 노드에 대해 현재의 슈퍼 노드를 유지할 수 있다. 420 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 생성한 경우, 프로세서(140)는 480 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 유지할 수 있다. 한편, 460 동작에서 해당 테스팅 노드를 후보 노드의 슈퍼 노드로 이동한 경우, 프로세서(140)는 480 동작에서 해당 테스팅 노드를 이동된 슈퍼 노드로 유지할 수 있다. 이 후, 전자 장치(100)는 도 7로 리턴하여, 350 동작으로 진행할 수 있다.
한편, 470 동작에서 압축 크기가 감소되지 않을 것으로 판단되면, 전자 장치(100)는 490 동작에서 해당 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀할 수 있다. 즉 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화가 0 또는 양이면, 전자 장치(100)는 해당 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀할 수 있다. 420 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 생성한 경우, 프로세서(140)는 490 동작에서 해당 테스팅 노드를 단독 슈퍼 노드로 생성하기 전의 원래의 슈퍼 노드로 복귀할 수 있다. 한편, 460 동작에서 해당 테스팅 노드를 후보 노드의 슈퍼 노드로 이동한 경우, 프로세서(140)는 490 동작에서 해당 테스팅 노드를 이동하기 전의 원래의 슈퍼 노드로 복귀할 수 있다. 이 후, 전자 장치(100)는 도 7로 리턴하여, 350 동작으로 진행할 수 있다.
본 문서의 다양한 실시예들은 컴퓨터 장치(예: 전자 장치(100))에 의해 읽을 수 있는 기록 매체(storage medium)(예: 메모리(130))에 저장된 하나 이상의 명령들을 포함하는 컴퓨터 프로그램으로서 구현될 수 있다. 예를 들면, 컴퓨터 장치의 프로세서(예: 프로세서(140))는, 기록 매체로부터 저장된 하나 이상의 명령들 중 적어도 하나를 호출하고, 그것을 실행할 수 있다. 이것은 컴퓨터 장치가 호출된 적어도 하나의 명령에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 하나 이상의 명령들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 컴퓨터 장치로 읽을 수 있는 기록 매체는, 비일시적(non-transitory) 기록 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 기록 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 기록 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
다양한 실시예들에 따른 컴퓨터 프로그램은, 대규모 그래프로부터 요약되는 요약 그래프 및 대규모 그래프와 요약 그래프 간 차이를 나타내는 교정 정보를 저장하는 동작, 대규모 그래프에서 변경 엣지를 검출하는 동작, 변경 엣지에 기반하여, 변경 엣지에 의해 연결되는 변경 노드들을 검출하는 동작, 및 변경 노드들의 각각에 기반하여, 요약 그래프 및 교정 정보를 업데이트하는 동작을 실행할 수 있다.
다양한 실시예들에 따르면, 요약 그래프는, 대규모 그래프로부터 검출되는 복수 개의 노드들과 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어질 수 있다.
다양한 실시예들에 따르면, 변경 엣지는, 대규모 그래프에 추가되는 엣지 또는 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 요약 그래프 및 교정 정보를 업데이트하는 동작은, 변경 노드들의 각각의 적어도 하나의 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작, 및 인접 노드를 위한 슈퍼 노드의 변경에 기반하여, 요약 그래프 및 교정 정보를 업데이트하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작은, 코스 클러스터들을 업데이트하는 동작, 변경 노드들의 각각에 대해, 무작위로 선택되는 정해진 개수의 인접 노드들로 테스팅 풀을 구성하는 동작, 테스팅 풀의 일부를 테스팅 노드로 결정하는 동작, 및 테스팅 노드에 대한 테스팅을 통해, 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은, 테스팅 노드를 포함하는 코스 클러스터를 확인하는 동작, 테스팅 풀과 코스 클러스터에 공동으로 속하는 노드들로 후보 풀을 구성하는 동작, 후보 풀로부터 후보 노드를 선택하는 동작, 테스팅 노드에 대해 후보 노드의 슈퍼 노드로의 이동에 기반하여, 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작, 및 크기 변화가 음이면, 테스팅 노드에 대해 이동된 슈퍼 노드를 유지하고, 그렇지 않으면, 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은, 테스팅 노드에 대해 단독 슈퍼 노드로의 생성에 기반하여, 요약 그래프 및 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작, 및 크기 변화가 음이면, 테스팅 노드에 대해 이동된 슈퍼 노드를 유지하고, 그렇지 않으면, 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(100)는 무손실 그래프 요약 기법에 따라 대규모 그래프로부터 생성되는 요약 그래프 및 교정 정보를 효율적으로 관리할 수 있다. 즉 전자 장치(100)는 동적 대규모 그래프에 대해 점진적 무손실 요약이 가능하다. 구체적으로, 전자 장치(100)는 대규모 그래프에서 변경이 발생될 때마다, 대규모 그래프를 다시 요약하지 않고, 대규모 그래프에 대해 이미 생성된 요약 그래프 및 교정 정보를 업데이트할 수 있다. 이에 따라, 전자 장치(100)는, 대규모 그래프의 변경에도 불구하고, 요약 그래프 및 교정 정보를 시간 효율적으로 업데이트할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성 요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및/또는 B 중 적어도 하나", "A, B 또는 C" 또는 "A, B 및/또는 C 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", "첫째" 또는 "둘째" 등의 표현들은 해당 구성 요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성 요소를 다른 구성 요소와 구분하기 위해 사용될 뿐 해당 구성 요소들을 한정하지 않는다. 어떤(예: 제 1) 구성 요소가 다른(예: 제 2) 구성 요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소가 상기 다른 구성 요소에 직접적으로 연결되거나, 다른 구성 요소(예: 제 3 구성 요소)를 통하여 연결될 수 있다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
다양한 실시예들에 따르면, 기술한 구성 요소들의 각각의 구성 요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성 요소들 중 하나 이상의 구성 요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성 요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성 요소들(예: 모듈 또는 프로그램)은 하나의 구성 요소로 통합될 수 있다. 이런 경우, 통합된 구성 요소는 복수의 구성 요소들 각각의 구성 요소의 하나 이상의 기능들을 통합 이전에 복수의 구성 요소들 중 해당 구성 요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치의 동작 방법에 있어서,
    대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하는 동작;
    상기 대규모 그래프에서 변경 엣지를 검출하는 동작;
    상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하는 동작; 및
    상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작
    을 포함하고,
    상기 요약 그래프는,
    상기 대규모 그래프로부터 검출되는 복수 개의 노드들과 상기 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 상기 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어지고,
    상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작은,
    상기 변경 노드들의 각각의 적어도 하나의 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작; 및
    상기 인접 노드를 위한 슈퍼 노드의 변경에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작
    을 포함하고,
    상기 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작은,
    코스(coarse) 클러스터들을 업데이트하는 동작;
    상기 변경 노드들의 각각에 대해, 무작위로 선택되는 정해진 개수의 인접 노드들로 테스팅 풀을 구성하는 동작;
    상기 테스팅 풀의 일부를 테스팅 노드로 결정하는 동작; 및
    상기 테스팅 노드에 대한 테스팅을 통해, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작
    을 포함하는, 방법.
  2. 삭제
  3. 제 1 항에 있어서, 상기 변경 엣지는,
    상기 대규모 그래프에 추가되는 엣지 또는 상기 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함하는, 방법.
  4. 삭제
  5. 삭제
  6. 제 1 항에 있어서, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은,
    상기 테스팅 노드를 포함하는 코스 클러스터를 확인하는 동작;
    상기 테스팅 풀과 상기 코스 클러스터에 공동으로 속하는 노드들로 후보 풀을 구성하는 동작;
    상기 후보 풀로부터 후보 노드를 선택하는 동작;
    상기 테스팅 노드에 대해 상기 후보 노드의 슈퍼 노드로의 이동에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작; 및
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 이동된 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작
    을 포함하는, 방법.
  7. 제 1 항에 있어서, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은,
    상기 테스팅 노드에 대해 단독 슈퍼 노드로의 생성에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작; 및
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 단독 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작
    을 포함하는, 방법.
  8. 컴퓨터 장치에 결합되어, 상기 컴퓨터 장치에 의해 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램에 있어서,
    대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하는 동작;
    상기 대규모 그래프에서 변경 엣지를 검출하는 동작;
    상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하는 동작; 및
    상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작
    을 포함하는 방법을 실행하고,
    상기 요약 그래프는,
    상기 대규모 그래프로부터 검출되는 복수 개의 노드들과 상기 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 상기 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어지고,
    상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작은,
    상기 변경 노드들의 각각의 적어도 하나의 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작; 및
    상기 인접 노드를 위한 슈퍼 노드의 변경에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하는 동작
    을 포함하고,
    상기 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하는 동작은,
    코스 클러스터들을 업데이트하는 동작;
    상기 변경 노드들의 각각에 대해, 무작위로 선택되는 정해진 개수의 인접 노드들로 테스팅 풀을 구성하는 동작;
    상기 테스팅 풀의 일부를 테스팅 노드로 결정하는 동작; 및
    상기 테스팅 노드에 대한 테스팅을 통해, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작
    을 포함하는, 컴퓨터 프로그램.
  9. 삭제
  10. 제 8 항에 있어서, 상기 변경 엣지는,
    상기 대규모 그래프에 추가되는 엣지 또는 상기 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함하는, 컴퓨터 프로그램.
  11. 삭제
  12. 삭제
  13. 제 8 항에 있어서, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은,
    상기 테스팅 노드를 포함하는 코스 클러스터를 확인하는 동작;
    상기 테스팅 풀과 상기 코스 클러스터에 공동으로 속하는 노드들로 후보 풀을 구성하는 동작;
    상기 후보 풀로부터 후보 노드를 선택하는 동작;
    상기 테스팅 노드에 대해 상기 후보 노드의 슈퍼 노드로의 이동에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작; 및
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 이동된 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작
    을 포함하는, 컴퓨터 프로그램.
  14. 제 8 항에 있어서, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하는 동작은,
    상기 테스팅 노드에 대해 단독 슈퍼 노드로의 생성에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하는 동작; 및
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 단독 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하는 동작
    을 포함하는, 컴퓨터 프로그램.
  15. 전자 장치에 있어서,
    메모리; 및
    상기 메모리와 연결되고, 상기 메모리에 저장된 적어도 하나의 명령을 실행하도록 구성된 프로세서를 포함하고,
    상기 프로세서는,
    대규모 그래프로부터 요약되는 요약 그래프 및 상기 대규모 그래프와 상기 요약 그래프 간 차이를 나타내는 교정 정보를 저장하고,
    상기 대규모 그래프에서 변경 엣지를 검출하고,
    상기 변경 엣지에 기반하여, 상기 변경 엣지에 의해 연결되는 변경 노드들을 검출하고,
    상기 변경 노드들의 각각에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하도록 구성되고,
    상기 요약 그래프는,
    상기 대규모 그래프로부터 검출되는 복수 개의 노드들과 상기 노드들을 연결하는 엣지들로부터 요약되는 적어도 하나의 슈퍼 노드와 상기 슈퍼 노드를 연결하는 적어도 하나의 슈퍼 엣지로 이루어지고,
    상기 변경 엣지는,
    상기 대규모 그래프에 추가되는 엣지 또는 상기 대규모 그래프로부터 삭제되는 엣지 중 적어도 하나를 포함하고,
    상기 프로세서는,
    상기 변경 노드들의 각각의 적어도 하나의 인접 노드를 위한 슈퍼 노드의 변경 여부를 결정하고,
    상기 인접 노드를 위한 슈퍼 노드의 변경에 기반하여, 상기 요약 그래프 및 상기 교정 정보를 업데이트하도록 구성되고,
    상기 프로세서는,
    코스 클러스터들을 업데이트하고,
    상기 변경 노드들의 각각에 대해, 무작위로 선택되는 정해진 개수의 인접 노드들로 테스팅 풀을 구성하고,
    상기 테스팅 풀의 일부를 테스팅 노드로 결정하고,
    상기 테스팅 노드에 대한 테스팅을 통해, 상기 테스팅 노드를 위한 슈퍼 노드를 결정하도록 구성되는, 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제 15 항에 있어서, 상기 프로세서는,
    상기 테스팅 노드를 포함하는 코스 클러스터를 확인하고,
    상기 테스팅 풀과 상기 코스 클러스터에 공동으로 속하는 노드들로 후보 풀을 구성하고,
    상기 후보 풀로부터 후보 노드를 선택하고,
    상기 테스팅 노드에 대해 상기 후보 노드의 슈퍼 노드로의 이동에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하고,
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 이동된 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하도록 구성되는, 장치.
  20. 제 15 항에 있어서, 상기 프로세서는,
    상기 테스팅 노드에 대해 단독 슈퍼 노드로의 생성에 기반하여, 상기 요약 그래프 및 상기 교정 정보의 업데이트에 따른 크기 변화를 계산하고,
    상기 크기 변화가 음이면, 상기 테스팅 노드에 대해 상기 단독 슈퍼 노드를 유지하고, 그렇지 않으면, 상기 테스팅 노드에 대해 원래의 슈퍼 노드로 복귀하도록 구성되는, 장치.
KR1020200087574A 2020-07-15 2020-07-15 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법 KR102426013B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020200087574A KR102426013B1 (ko) 2020-07-15 2020-07-15 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법
PCT/KR2020/016446 WO2022014793A1 (ko) 2020-07-15 2020-11-20 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법
JP2020212875A JP7227629B2 (ja) 2020-07-15 2020-12-22 大規模グラフの漸進的無損失要約のための電子装置、その動作方法、及びコンピュータプログラム
US17/154,544 US20220019921A1 (en) 2020-07-15 2021-01-21 Electronic device for incremental lossless summarization of massive graph and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200087574A KR102426013B1 (ko) 2020-07-15 2020-07-15 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법

Publications (2)

Publication Number Publication Date
KR20220009184A KR20220009184A (ko) 2022-01-24
KR102426013B1 true KR102426013B1 (ko) 2022-07-29

Family

ID=79291517

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200087574A KR102426013B1 (ko) 2020-07-15 2020-07-15 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법

Country Status (4)

Country Link
US (1) US20220019921A1 (ko)
JP (1) JP7227629B2 (ko)
KR (1) KR102426013B1 (ko)
WO (1) WO2022014793A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20240004933A1 (en) * 2022-06-29 2024-01-04 Tigergraph, Inc. Minhash signatures as vertices for fuzzy string match on graph

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101748069B1 (ko) * 2016-01-06 2017-06-15 경희대학교 산학협력단 동적 그래프 기반의 그래프 요약을 수행하는 장치 및 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8612169B2 (en) * 2011-04-26 2013-12-17 International Business Machines Corporation Method and system for detecting anomalies in a bipartite graph
AU2016235087A1 (en) 2015-03-24 2017-09-21 Kyndi, Inc. Cognitive memory graph indexing, storage and retrieval
US10217241B2 (en) * 2016-06-15 2019-02-26 Palo Alto Research Center Incorporated System and method for compressing graphs via cliques
KR102009216B1 (ko) * 2018-05-14 2019-08-09 경희대학교 산학협력단 그래프 요약 및 압축 방법 및 시스템
US20200104425A1 (en) * 2018-09-28 2020-04-02 Microsoft Technology Licensing, Llc Techniques for lossless and lossy large-scale graph summarization
US11386157B2 (en) 2019-06-28 2022-07-12 Intel Corporation Methods and apparatus to facilitate generation of database queries

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101748069B1 (ko) * 2016-01-06 2017-06-15 경희대학교 산학협력단 동적 그래프 기반의 그래프 요약을 수행하는 장치 및 방법

Also Published As

Publication number Publication date
KR20220009184A (ko) 2022-01-24
US20220019921A1 (en) 2022-01-20
JP7227629B2 (ja) 2023-02-22
JP2022019505A (ja) 2022-01-27
WO2022014793A1 (ko) 2022-01-20

Similar Documents

Publication Publication Date Title
CN109829433B (zh) 人脸图像识别方法、装置、电子设备及存储介质
CN111309824B (zh) 实体关系图谱显示方法及系统
CN111046227B (zh) 一种视频查重方法及装置
CN108280458B (zh) 群体关系类型识别方法及装置
WO2022062243A1 (zh) 目标重识别方法、装置、设备、存储介质及程序产品
CN102156751A (zh) 一种提取视频指纹的方法及装置
CN110019989B (zh) 一种数据处理方法及装置
KR102426013B1 (ko) 대규모 그래프의 점진적 무손실 요약을 위한 전자 장치 및 그의 동작 방법
CN112101360A (zh) 一种目标检测方法、装置以及计算机可读存储介质
WO2015078019A1 (en) Method and system for recognizing faces
Fadaei et al. Enhanced K-means re-clustering over dynamic networks
CN116681104A (zh) 分布式空间图神经网络的模型建立及实现方法
CN114398973B (zh) 一种媒体内容标签识别方法、装置、设备及存储介质
Muñoz et al. Enabling nas with automated super-network generation
HajiAkhondi-Meybodi et al. Vit-cat: Parallel vision transformers with cross attention fusion for popularity prediction in mec networks
KR102032008B1 (ko) 비교를 이용한 대화형 콘텐츠 검색
US10726090B1 (en) Per-user accuracy measure for social network based geocoding algorithms
CN115618099A (zh) 神经网络架构搜索的方法、装置及电子设备
CN111107493B (zh) 一种移动用户位置预测方法与系统
CN116432633A (zh) 地址纠错方法、装置、计算机设备及可读介质
JP2003111082A (ja) 動きベクトル検出方法及び装置
CN110362603B (zh) 一种特征冗余性分析方法、特征选择方法和相关装置
CN113157704B (zh) 层级关系分析方法、装置、设备及计算机可读存储介质
CN114581714A (zh) 基于图像的主体识别方法、装置、存储介质及电子设备
D’Angelo et al. Approximation and exact algorithms for optimally placing a limited number of storage nodes in a wireless sensor network

Legal Events

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