KR20180078712A - 그래프 랭킹 수행 방법 및 장치 - Google Patents

그래프 랭킹 수행 방법 및 장치 Download PDF

Info

Publication number
KR20180078712A
KR20180078712A KR1020160183757A KR20160183757A KR20180078712A KR 20180078712 A KR20180078712 A KR 20180078712A KR 1020160183757 A KR1020160183757 A KR 1020160183757A KR 20160183757 A KR20160183757 A KR 20160183757A KR 20180078712 A KR20180078712 A KR 20180078712A
Authority
KR
South Korea
Prior art keywords
graph
preprocessing
ranking
reordering
matrix
Prior art date
Application number
KR1020160183757A
Other languages
English (en)
Other versions
KR101946692B1 (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 KR1020160183757A priority Critical patent/KR101946692B1/ko
Publication of KR20180078712A publication Critical patent/KR20180078712A/ko
Application granted granted Critical
Publication of KR101946692B1 publication Critical patent/KR101946692B1/ko

Links

Images

Classifications

    • G06F17/3053
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/26Visual data mining; Browsing structured data
    • G06F17/30572
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

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

Abstract

본 발명은 그래프 랭킹 수행 장치 및 방법에 관한 것이다. 본 발명의 제1 측면에 따르면, 그래프 랭킹 수행 장치는, 그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 재정렬부, 상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 전처리 수행부 및 상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 반복연산 수행부를 포함한다.

Description

그래프 랭킹 수행 방법 및 장치 {METHOD AND APPARATUS FOR PERFORMING GRAPH RANKING}
본 발명은 그래프 랭킹 방법 및 장치에 관한 것으로, 보다 구체적으로는 대용량 그래프에서 RWR (Random Walk with Restart) 기법의 가속화를 위해서 그래프의 구조에 따라 노드 재정렬을 수행하고 전처리 기법과 반복적 기법을 적절하게 조합함으로써 메모리를 적게 사용하면서도 계산 속도를 높일 수 있는 그래프 랭킹 방법 및 장치에 관한 것이다.
데이터 마이닝(data mining)이란 많은 양의 데이터로부터 유용한 정보를 추출하는 것을 의미한다. 그리고, 이러한 데이터 마이닝을 그래프에 적용하는 것을 그래프 마이닝이라고 하며, 특히 그래프에 포함된 노드들의 우선순위를 결정하는 기술을 그래프 랭킹(graph ranking)이라고 한다.
최근 SNS 이용률이 증가하고, 인터넷상에 저장되는 웹 문서의 양이 증가하면서, SNS 이용자간의 연결 관계 또는 웹 문서들간의 연결 관계를 나타내는 그래프에서 노드들의 중요도를 파악하기 위한 그래프 랭킹 기술의 중요도가 높아지고 있다.
그래프 랭킹 수행 방법을 제시하는 문헌으로서, 한국공개특허 제2011-0131094호가 있다. 본 문헌에는 정보 네트워크로부터 하나 이상의 노드들 및 간선들을 수집하고, 수집된 노드들에 랜덤 워크를 수행하여 얻은 시퀀스들을 데이터 베이스에 저장하고, 데이터 베이스를 마이닝하여 정보 네트워크에 존재하는 패턴을 파악하는 내용이 개시되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 실시예는 그래프 랭킹 수행 방법 및 장치를 제공하는 데에 그 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 그래프 랭킹 수행 장치는, 그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 재정렬부, 상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 전처리 수행부 및 상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 반복연산 수행부를 포함할 수 있다.
본 발명의 제2 측면에 따르면, 그래프 랭킹 수행 방법은, 그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 단계, 상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 단계 및 상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 단계를 포함할 수 있다.
본 발명의 제3 측면에 따르면, 그래프 랭킹 수행 방법을 수행하기 위한 컴퓨터 프로그램으로서, 그래프 랭킹 수행 방법은 그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 단계, 상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 단계 및 상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 단계를 포함할 수 있다.
본 발명의 제 4 측면에 따르면, 그래프 랭킹 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 그래프 랭킹 수행 방법은 그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 단계, 상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 단계 및 상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 단계를 포함할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 그래프 랭킹 수행 방법 및 장치를 제시할 수 있다.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 그래프의 구조에 따라서 노드 재정렬을 수행한 후 블록 제거 방법을 사용함으로써 전처리에 소요되는 시간을 단축시킬 수 있다.
또한, 그래프 랭킹을 나타내는 벡터에 포함된 원소 중 적어도 하나에 대해서는 반복연산을 수행함으로써 적은 메모리를 사용하여 랭킹 계산을 수행할 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 그래프에 RWR 기법을 적용하여 RWR 점수를 산출하는 예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 그래프 랭킹 수행 장치를 도시한 도면이다.
도 3은 재정렬을 수행하지 않은 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다.
도 4는 인접 행렬 A에 데드 엔드를 기준으로 노드 재정렬을 수행하고, 재정렬된 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다.
도 5는 인접 행렬 A에 허브-앤-스포크 재정렬 기법에 따라 노드 재정렬을 수행하고, 재정렬된 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다.
도 6은 인접 행렬 A에 데드 엔드 재정렬 및 허브-앤-스포크 재정렬을 수행한 후, 재정렬된 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 그래프 랭킹 수행 방법을 설명하기 위한 순서도이다.
이 발명은 2016년도 정부(미래창조과학부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행되었다. (No.R0101-15-0176, Symbolic Approach 기반 인간모사형 자가학습 지능 원천 기술 개발)
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
본 발명의 실시예들을 자세히 설명하기에 앞서, 우선 그래프 마이닝(graph mining), 그래프 랭킹 기법, 그리고 그래프 랭킹 기법의 일 예인 RWR (Random Walk with Restart) 기법에 대해서 설명한다.
그래프 마이닝이란 그래프 속에서 유용한 정보를 발견하는 작업을 의미한다. 그리고, 그래프 랭킹 기법이란 그래프 마이닝을 수행하기 위한 기법 중 하나로서, 노드(node)와 간선(edge)으로 이루어진 그래프에서 노드들의 중요도를 구하거나 노드들간의 근접도를 구할 수 있는 기법이다. 그래프 랭킹 기법으로서 랜덤 워크에 기반한 RWR 기법이 많이 사용되는데, RWR 기법에 대해서는 도 1을 참조하여 자세히 설명한다.
도 1은 그래프에 RWR 기법을 적용하여 RWR 점수를 산출하는 예를 도시한 도면이다. 도 1에는 12개의 노드들 및 노드들을 연결하는 간선들로 구성된 그래프가 도시되었다. 각각의 노드에는 노드 번호가 1부터 12까지 할당되어 있다. RWR 기법이란 그래프에 포함된 복수의 노드들 중에서 어느 하나의 노드를 시작 노드(또는 시드 노드 - seed node)로 정하고, 시작 노드로부터 출발하여 이동하는 가상의 인물인 랜덤 서퍼(random surfer)(1)가 다른 노드들에 도달할 확률을 점수로 계산하는 기법이다.
도 1에서는 4번 노드를 시작 노드로 선택하였다. 랜덤 서퍼(1)는 시작 노드인 4번 노드에서 출발하여 랜덤 워크 또는 재시작 중 어느 하나의 행동을 수행한다. 예를 들어, 랜덤 서퍼(1)는 1번, 3번 또는 5번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다. 또한, 랜덤 서퍼(1)가 몇 번의 이동을 거쳐서 9번 노드에 도달했다면, 다음 동작으로서 8번 또는 10번 노드 중 어느 하나의 노드로 이동하는 행동(랜덤 워크)을 수행하거나, 4번 노드로 돌아가는 행동(재시작)을 수행할 수 있다.
즉, 랜덤 서퍼(1)는 한 번 이동할 때마다 바로 이웃한 노드로 이동(랜덤 워크)하거나, 시작 노드로 이동(재시작)한다. 이때, 랜덤 서퍼(1)가 재시작을 수행할 확률을 c라고 하면, 랜덤 워크를 수행할 확률은 (1-c)가 된다.
노드들 각각에 랜덤 서퍼(1)가 도달할 확률을 RWR 점수라고 하고, 노드들 각각에 대한 RWR 점수로 구성되는 열벡터(column vector) r을 RWR 점수 벡터라고 한다. 또한, 그래프를 나타내는 인접 행렬(adjacency matrix)을 A라고 하면, RWR 점수 벡터 r은 다음과 같은 수식으로 나타낼 수 있다.
Figure pat00001
이때, q는 시작 노드에 대응되는 원소의 값이 1이고, 나머지 원소들은 모두 0인 열벡터이다. 또한,
Figure pat00002
는 각 행의 원소의 합이 1이 되도록 정규화된 인접 행렬이다. 수학식 1로부터 다음의 수학식 2를 얻을 수 있다.
Figure pat00003
따라서,
Figure pat00004
를 H라고 한다면, RWR 점수 벡터 r은 다음의 수학식 3과 같은 선형 시스템의 해로 구할 수 있다.
Figure pat00005
RWR 점수 벡터 r를 구하는 방법은 반복적 기법(iterative approach)과 전처리 기법(preprocessing approach)이 있다. 이하에서는 각 기법에 대해서 자세히 설명한다.
우선, 반복적 기법은 r에 대한 임의의 초기값에 대해서 수학식 1을 반복적으로 적용하여 r의 값이 일정 범위 내로 수렴하도록 하는 방식이다. 따라서, 반복적 기법은 다음의 수학식 4로 표현된다.
Figure pat00006
이때, i는 계산을 반복 수행한 횟수를 의미한다. 초기값인 r(0)로부터 시작하여, 다음의 수학식 5를 만족할 때까지 수학식 4를 반복 적용할 수 있다. 물론, 수학식 5는 수렴 조건의 한 예로서, 수렴 조건을 다르게 설정하는 것도 가능하다. 이때,
Figure pat00007
는 허용 오차 (error tolerance)이다.
Figure pat00008
이번에는 전처리 기법에 대해서 설명한다. 전처리 기법은 RWR 점수를 구하기 위한 대부분의 계산을 미리 수행해놓고, 시작 노드가 선택되면 미리 준비된 전처리 결과에 선택된 시작 노드를 대입하는 방식이다. 구체적으로, 수학식 3으로부터 다음의 수학식 6을 얻을 수 있고, 따라서 H의 역행렬을 구한다면 시작 노드가 변경되더라도 RWR 점수 벡터 r을 빠르게 구할 수 있다.
Figure pat00009
반복적 기법과 전처리 기법의 장단점에 대해서 살펴보면 다음과 같다.
우선, 전처리 기법은 H의 역행렬을 구하기만 하면 주어진 시작 노드에 대해서 빠르게 RWR 점수를 계산할 수 있는 장점이 있다. 하지만, H의 역행렬을 구하고 이를 저장하기 위해서 많은 메모리가 필요하다는 단점이 있다. 게다가, 그래프의 규모가 커지면 H의 역행렬을 계산하고 저장하기 위해 필요한 시간 및 메모리가 급격하게 증가하므로 실질적으로 전처리 기법을 활용하기 어렵다는 단점이 있다.
이에 반해, 반복적 기법은 역행렬을 계산할 필요가 없어 전처리 기법과 달리 추가적인 데이터를 필요로 하지 않아 메모리 사용이 적은 장점이 있다. 하지만, 반복적 기법은 RWR 점수가 수렴할 때까지 행렬-벡터 곱 연산을 반복적으로 수행해야 하므로 RWR 점수의 계산에 시간이 오래 걸리는 단점이 있다.
이하에서 설명되는 본 발명의 실시예들에서는 반복적 기법과 전처리 기법을 적절하게 조합하여 각 기법의 장점들을 효과적으로 취함으로써 메모리를 적게 사용하면서도 RWR 점수 계산을 빠르게 수행할 수 있는 방법을 제시한다.
좀 더 자세하게는, 그래프 구조에 따라서 노드 재정렬을 수행한 후 블록 제거(block elimination) 방법을 사용함으로써 전처리에 소요되는 시간을 단축시키고, 반복적 기법도 함께 사용함으로써 RWR 계산시 메모리를 적게 사용하도록 할 수 있다. 또한, 노드 재정렬과 관련된 파라미터를 조절하고 행렬의 프리컨디셔너(precondtioner)를 이용함으로써 RWR 계산 속도를 더욱 높일 수 있다. 자세한 내용은 아래에서 도면들을 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 그래프 랭킹 수행 장치의 구성을 나타내는 블록도이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 그래프 랭킹 수행 장치(100)는 재정렬부(110), 전처리 수행부(120) 및 반복연산 수행부(130)를 포함할 수 있다.
재정렬부(110)는 그래프의 구조에 따라 노드 재정렬을 수행할 수 있다. 다시 말해, 재정렬부(110)는 그래프의 구조에 따라서 그래프에 대응되는 인접 행렬 A를 재정렬할 수 있다. 후술할 전처리 수행부(120)는 재정렬된 인접 행렬 A를
Figure pat00010
에 대입시킴으로써 H를 구하고 블록 제거 방법을 적용하여 추가적인 전처리를 수행할 수 있다. 그런데, 인접 행렬 A와 H의 관계로 인해 인접 행렬 A에 수행한 재정렬의 효과는 H에 직접적으로 나타나게 된다. 따라서, 이하에서는 재정렬부(110)가 인접 행렬 A에 수행하는 행렬 재정렬의 과정 및 결과를 행렬 H를 기준으로 설명한다.
도 3 내지 도 6은 본 발명의 일 실시예에 따른 RWR 점수 벡터 r을 구하기 위한 선형 시스템에 포함되는 행렬 H를 기준으로, 그래프의 구조에 따른 노드 재정렬의 과정 및 결과를 설명하기 위한 도면들이다.
도 3을 참조하면, H는 전체 영역에 골고루 값이 분산되어 있음을 알 수 있다. 즉, 도 3에 도시된 H는 노드 재정렬을 수행하지 않은 인접 행렬 A로부터 구한 것이며, 이는 노드들 및 간선들이 랜덤하게 분산되어 있는 실세계 그래프의 모습에 해당된다.
본 발명의 실시예에 따른 재정렬부(110)가 인접 행렬 A에 노드 재정렬을 수행하는 구체적인 방법을 설명하기에 앞서, 두 가지 노드 재정렬 기법에 대해서 도 4 및 도 5를 참조하여 설명한다.
우선, 데드 엔드(deadend) 재정렬 기법에 대해서 도 4를 참조하여 설명한다. 도 4는 인접 행렬 A에 데드 엔드를 기준으로 노드 재정렬을 수행하고, 재정렬된 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다. 데드 엔드란 들어오는 간선만 있고, 나가는 간선은 없는 노드를 의미한다. 실세계에서는 웹 문서 네트워크에서 파일이나 이미지 등과 같이 나가는 간선이 없는 노드가 데드 엔드에 해당된다.
데드 엔드를 기준으로 행렬을 재정렬하는 방법은, 데드 엔드인 노드(deadend, 이하 D 노드)에 높은 노드 번호를 할당하고, 데드 엔드가 아닌 노드(non-deadend, 이하 N 노드)에 낮은 노드 번호를 할당하는 방식으로 노드들의 번호를 변경한다. 인접 행렬 A에 이와 같은 방식으로 노드 재정렬을 수행하면, 인접 행렬 A는 다음의 수학식 7과 같이 부분 행렬들로 나누어질 수 있다.
Figure pat00011
Ann은 N 노드로부터 N 노드로 연결되는 간선들을 포함하는 부분 행렬이며, And는 N 노드로부터 D 노드로 연결되는 간선들을 포함하는 부분 행렬이다. 위와 같이 재정렬된 인접 행렬 A를
Figure pat00012
에 대입하면, 도 4와 같이 4개의 부분 행렬로 분할된 H를 구할 수 있고, 이를 수학식 3에 대입하면 아래와 같은 수학식 8을 얻을 수 있다.
Figure pat00013
이번에는 허브-앤-스포크(hub-and-spoke) 재정렬 기법에 대해서 도 5를 참조하여 설명한다. 도 5는 인접 행렬 A에 허브-앤-스포크 재정렬 기법에 따라 노드 재정렬을 수행하고, 재정렬된 인접 행렬 A로부터 구한 행렬 H의 모습을 도시한 도면이다. 허브(hub)란 간선 연결이 많은 노드를 의미하고, 스포크(spoke)란 간선 연결이 적은 노드를 의미한다. 허브와 스포크는 반복적으로 수행되는 매 시도 마다 허브 선택률 (hub selection ratio) k의 비율로 전체 노드 중 차수가 높은 노드를 허브로 포함시키고 허브를 그래프에서 제거한다. 그러면 원래 그래프는 하나의 거대한 연결 요소 (Great Connected Component, GCC)와 다수의 연결 차수가 낮은 노드들로 분리된다. 연결 차수가 낮은 노드들은 스포크로 포함시키고, GCC에 대해서 위 작업을 반복해서 허브와 스포크를 모은다. 따라서, k의 값이 클수록 전체 노드들 중 허브로 선택되는 노드의 비율이 커진다.
허브-앤-스포크 재정렬을 수행하는 방법은, 모든 노드들을 허브와 스포크로 분류한 후, 허브에 해당되는 노드에는 높은 노드 번호를 할당하고, 스포크에 해당되는 노드에는 낮은 노드 번호를 할당하는 방식으로 노드들의 번호를 변경한다. 인접 행렬 A에 이와 같은 방식으로 노드 재정렬을 수행하고, 재정렬된 인접 행렬 A로부터 행렬 H를 구하면, H는 도 5와 같이 4개의 부분 행렬들로 나누어질 수 있다. H11은 스포크에 해당되는 노드들 간에 연결된 간선들을 포함하는 부분 행렬로서 대각 행렬이다. H12, 및 H21은 각각 스포크에 해당되는 노드들과 허브에 해당되는 노드들 간에 연결된 간선들을 포함하는 부분 행렬이다. 그리고, H22는 허브에 해당되는 노드들 간에 연결된 간선들만을 포함하는 부분 행렬이다.
본 발명의 실시예에 따른 재정렬부(110)는 앞서 설명한 데드 엔드 재정렬 기법과 허브-앤-스포크 재정렬 기법을 결합하여 인접 행렬 A에 노드 재정렬을 수행한다.
재정렬부(110)는 먼저 그래프에 대응되는 인접 행렬 A에 데드 엔드 재정렬을 수행하고, 따라서 인접 행렬 A는 수학식 7과 같이 4개의 부분 행렬들로 분할된다. 이어서, 재정렬부(110)는 인접 행렬 A에 포함되는 부분 행렬들 중 Ann에 허브-앤-스포크 재정렬을 수행하고, 따라서 Ann은 또다시 4개의 부분 행렬들로 분할된다. 이와 같이, 재정렬부(110)가 인접 행렬 A에 데드 엔드 재정렬 및 허브-앤-스포크 재정렬을 순차적으로 수행하면, 최종적으로 인접 행렬 A는 9개의 부분 행렬들로 분할된다.
인접 행렬 A에 재정렬을 수행한 결과는 행렬 H에도 유사하게 나타난다. 도 6에는 인접 행렬 A에 데드 엔드 재정렬 및 허브-앤-스포크 재정렬을 수행한 후, 재정렬된 인접 행렬 A를 이용하여 구한 행렬 H를 도시하였다. 도 6을 참조하면, H 역시 9개의 부분 행렬들로 분할되었음을 확인할 수 있다.
앞서 설명한 바와 같이 재정렬부(110)는 인접 행렬 A에 데드 엔드 재정렬을 수행한 결과로서 얻은 부분 행렬 Ann에 허브-앤-스포크 재정렬을 수행한다. 따라서, 행렬 H의 측면에서 보면 도 4에 포함된 부분 행렬 Hnn에 허브-앤-스포크 재정렬을 수행한 것으로 볼 수 있고, 따라서 Hnn
Figure pat00014
로 분할되고, 이에 따라 Hdn
Figure pat00015
로 분할된다. 따라서, 다음의 수학식 9와 같은 관계가 성립한다.
Figure pat00016
도 6에는 이와 같이 9개의 부분 행렬들로 분할된 H가 도시되었다. 이때, 스포크인 노드들의 개수를 n1이라고 하고, 허브인 노드들의 개수를 n2라고 하고, 데드 엔드인 노드들의 개수를 n3라고 한다면, H11은 n1 x n1 행렬이 되고, H22는 n2 x n2 행렬이 된다. 또한, H21은 n2 x n1 행렬이 되고, H12는 n1 x n2 행렬이 된다. 또한, H31은 n3 x n1 행렬이 되고, H32는 n3 x n2 행렬이 된다.
재정렬부(110)가 인접 행렬 A에 대해서 노드 재정렬을 수행하면, 전처리 수행부(120)는 재정렬된 인접 행렬 A를
Figure pat00017
에 대입하여 행렬 H를 구하고, H를 수학식 3의 선형 시스템에 대입한 후 블록 제거(block elimination) 기법을 수행한다. 이하에서는 전처리 수행부(120)가 수행하는 전처리 과정을 수학식 10 내지 수학식 17를 참조하여 설명한다.
우선, 전처리 수행부(120)는 재정렬 결과 분할된 H를 수학식 3에 대입하면 다음의 수학식 10을 얻을 수 있다.
Figure pat00018
그리고, 전처리 수행부(120)는 수학식 10에 블록 제거 기법을 적용하면, 다음의 수학식 11을 얻을 수 있다.
Figure pat00019
이때, S는 다음의 수학식 12로 표현되는 행렬로, H11의 슈어 컴플리먼트 (Schur Complement)라고 한다.
Figure pat00020
한편, 수학식 11에는 H11 및 S의 역행렬이 포함되어 있는데, H11의 경우 역행렬을 구하기가 비교적 용이하나, S는 역행렬을 구하기가 쉽지 않다. 왜냐하면, H11는 작은 크기의 정방 행렬들이 대각에 위치한 대각 블록 행렬 (diagonal block matrix)이고, 대각 블록 행렬의 역행렬은 각 블록의 역행렬만 취하면 되기 때문에 H11의 역행렬은 쉽게 구해진다. 하지만, S는 n2 x n2 행렬인데, 그래프의 규모가 매우 큰 경우 허브인 노드들의 개수인 n2의 값 또한 커지므로 S는 역행렬을 구하기엔 차원이 너무 크게 된다. 따라서, 본 발명의 일 실시예에 따른 그래프 랭킹 수행 장치(100)는 r1 내지 r3를 구함에 있어서, 전처리 과정으로서 H11의 역행렬을 구해서 이용하지만, S의 역행렬은 구하지 않고 대신에 선형 시스템의 반복적 기법을 활용한다.
이를 다시 설명하면 다음과 같다. 수학식 11로부터 다음의 수학식 13 내지 수학식 15를 얻을 수 있는데, 수학식 14에서 r2를 구함에 있어서 S의 역행렬을 이용하는 것이 아니라 반복적 기법을 이용한다. 수학식 14에 대해 반복적 기법을 이용하여 r2를 구하는 프로세스는 반복연산 수행부(130)에 의해 수행되며, 이에 대한 자세한 설명은 후술하기로 한다.
Figure pat00021
Figure pat00022
Figure pat00023
수학식 13 내지 수학식 15를 참조하면, 전처리 수행부(120)에서 전처리를 수행한 결과 H11의 역행렬, H12, H21, H31, H32 및 S를 모두 구할 수 있으므로, 수학식 14에 반복적 기법을 활용하여 r2를 구한다면, r1 내지 r3를 모두 구할 수 있음을 알 수 있다. 그리고, r1 내지 r3를 합하면 최종적으로 RWR 점수 벡터 r을 구할 수 있다.
한편, 전처리 수행부(120)는 H11의 역행렬 계산을 더욱 쉽게 하기 위해, 수학식 16과 같이 H에 LU 분해 (LU decomposition)를 수행한 후 분해된 행렬의 역행렬을 취할 수도 있다. 이때, L은 하삼각 행렬(lower triangular matrix)이고, U는 상삼각 행렬(upper triangular matrix)을 의미한다.
Figure pat00024
또한, 전처리 수행부(120)는 수학식 14에 대한 반복적 기법의 효율을 높이기 위한 준비로서, 다음의 수학식 17과 같이 S에 불완전 LU 분해 (incomplete LU decomposition)를 수행하여
Figure pat00025
Figure pat00026
를 구할 수 있다. 이때,
Figure pat00027
Figure pat00028
는 S의 프리컨디셔너 (preconditioner)라고 한다. 수학식 14에 대해 반복적 기법을 활용할 때 S의 프리컨디셔너를 이용하는 방법은 후술한다.
Figure pat00029
반복연산 수행부(130)는 전처리 결과를 이용하여 수학식 14에 대해 반복적 기법을 활용하여 r2를 구한다.
Figure pat00030
를 아래의 수학식 18과 같이 정의하면, 수학식 14는 아래의 수학식 19의 선형 시스템으로 표현이 가능하다.
Figure pat00031
Figure pat00032
이때, 반복연산 수행부(130)는 전처리 결과를 수학식 18에 대입함으로써
Figure pat00033
를 구할 수 있고, S는 전처리 결과로서 알고 있으므로, 수학식 19의 r2에 대해 임의의 초기값을 대입한 후 수렴 조건을 만족할 때까지 반복적으로 연산을 수행함으로써 r2를 구할 수 있다.
반복연산 수행부(130)는 반복적 기법의 속도 및 정확성을 높이기 위해서 GMRES (Generalized Minimal Residual) 기법을 활용할 수 있다. 따라서, 반복연산 수행부(130)는 아래의 수학식 20의 수렴 조건을 만족할 때까지 반복연산을 수행할 수 있다. 이때,
Figure pat00034
는 허용 오차이고,
Figure pat00035
는 i번 반복연산을 수행한 결과를 의미한다.
Figure pat00036
또한, 반복연산 수행부(130)는 반복적 기법의 효율을 높이기 위해서, 앞서 전처리 수행부(120)가 구한 S의 프리컨디셔너를 이용할 수도 있다. 수학식 17에서 구한 S의 프리컨디셔너를 수학식 19의 선형 시스템에 대입하면 다음의 수학식 21을 얻을 수 있다.
Figure pat00037
한편, 반복적 기법을 통해 r2를 구하는 과정을 더욱 쉽게 하기 위해선 S에 포함된 논-제로(non-zero) 원소의 개수를 줄이는 것이 중요한데, 재정렬부(110)가 허브-앤-스포크 재정렬시 이용하는 파라미터인 허브 선택률 k를 적절하게 선택함으로써 S에 포함된 논-제로 원소의 개수를 최소화 할 수 있다.
수학식 12와 같이
Figure pat00038
의 관계에 있으므로, S에 포함된 논-제로 원소의 개수는 대략적으로 다음의 수학식 22와 같은 조건을 만족한다고 볼 수 있다. 이때,
Figure pat00039
는 행렬 A에 포함된 논-제로 원소의 개수를 의미한다.
Figure pat00040
허브 선택률 k를 적절히 선택함으로써
Figure pat00041
를 최소화하는 방법에 대해서 설명하면 다음과 같다. k값이 증가하면 허브로 선택되는 노드의 비율이 높아지므로 n2가 증가하고 반대로 n1은 감소한다. 따라서,
Figure pat00042
은 증가하지만,
Figure pat00043
,
Figure pat00044
, 및
Figure pat00045
은 감소하고, 따라서
Figure pat00046
도 감소하게 된다.
k값을 충분히 낮은 값에서부터 조금씩 증가시키면
Figure pat00047
은 조금 증가하는데 반해,
Figure pat00048
가 감소하는 정도는
Figure pat00049
가 증가하는 정도보다 크므로,
Figure pat00050
는 감소하게 된다. 즉, 일정 지점까지는 k값을 증가시키면
Figure pat00051
가 감소한다. 하지만, k값이 너무 커지면
Figure pat00052
가 급격하게 증가하여 오히려
Figure pat00053
가 증가하는 상황이 발생한다. 따라서,
Figure pat00054
를 최소화하도록 적절한 k값을 선택해야 한다.
본 발명의 일 실시예에 따른 그래프 랭킹 수행 장치(100)는 지금까지 설명한 프로세스를 수행함으로써 r1 내지 r3를 구하고, 이를 합하여 RWR 점수 벡터 r을 구할 수 있다.
이하에서는 상술한 바와 같은 그래프 랭킹 수행 장치(100)를 이용한 그래프 랭킹 수행 방법을 설명한다. 도 7은 본 발명의 일 실시예에 따른 그래프 랭킹 수행 방법을 설명하기 위한 순서도이다.
도 7에 도시된 실시예에 따른 그래프 랭킹 수행 방법은 도 2에 도시된 그래프 랭킹 수행 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 2에 도시된 그래프 랭킹 수행 장치(100)에 관하여 이상에서 기술한 내용은 도 7에 도시된 실시예에 따른 그래프 랭킹 수행 방법에 적용될 수도 있다.
도 7을 참조하면, 701 단계에서 그래프 랭킹 수행 장치(100)는 그래프의 구조에 따라서 그래프에 대응되는 인접 행렬을 재정렬한다. 예를 들어, 그래프 랭킹 수행 장치(100)는 둘 이상의 노드 재정렬 기법을 인접 행렬에 적용함으로써 인접 행렬을 재정렬 할 수 있으며, 구체적으로 데드 엔드 재정렬 기법 및 허브-앤-스포크 재정렬 기법을 인접 행렬에 적용할 수 있다.
702 단계에서 그래프 랭킹 수행 장치(100)는 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 분할된 부분 행렬들을 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 그래프의 랭킹 계산을 위한 전처리를 수행한다. 예를 들어, 그래프 랭킹 수행 장치(100)는 선형 시스템에 블록 제거 기법을 적용함으로써 전처리를 수행할 수 있다.
703 단계에서 그래프 랭킹 수행 장치(100)는 702 단계의 전처리 결과를 이용하고, 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 벡터를 산출할 수 있다. 예를 들어, 그래프 랭킹 수행 장치(100)는 전처리 결과 얻은 행렬 중 적어도 하나의 프리컨디셔너를 이용하여 벡터에 포함된 적어도 하나의 원소에 대한 반복연산을 수행할 수 있다. 또한, 그래프 랭킹 수행 장치(100)는 벡터에 포함된 적어도 하나의 원소에 대한 반복연산을 수행함에 있어서 GMRES 기법을 활용할 수도 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다
또한 본 발명의 일실시예에 따르는 그래프 랭킹 수행 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 상품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 본 발명의 일실시예에 따르는 그래프 랭킹 수행 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 그래프 랭킹 수행 장치 110: 재정렬부
120: 전처리 수행부 130: 반복연산 수행부

Claims (14)

  1. 그래프 랭킹 수행 장치에 있어서,
    그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 재정렬부;
    상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 전처리 수행부; 및
    상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 반복연산 수행부를 포함하는 장치.
  2. 제1항에 있어서,
    상기 재정렬부는,
    둘 이상의 노드 재정렬 기법을 상기 인접 행렬에 적용함으로써 상기 인접 행렬을 재정렬하는 것을 특징으로 하는 장치.
  3. 제2항에 있어서,
    상기 재정렬부는,
    데드 엔드 재정렬 기법 및 허브-앤-스포크 재정렬 기법을 상기 인접 행렬에 순차적으로 적용하는 것을 특징으로 하는 장치.
  4. 제1항에 있어서,
    상기 전처리 수행부는,
    상기 선형 시스템에 블록 제거 기법을 적용함으로써 상기 전처리를 수행하는 것을 특징으로 하는 장치.
  5. 제1항에 있어서,
    상기 반복연산 수행부는,
    상기 전처리 결과 얻은 행렬 중 적어도 하나의 프리컨디셔너(preconditioner)를 이용하여 상기 적어도 하나의 원소에 대한 반복연산을 수행하는 것을 특징으로 하는 장치.
  6. 제1항에 있어서,
    상기 반복연산 수행부는,
    상기 적어도 하나의 원소에 대한 반복연산을 수행함에 있어서 GMRES (Generalized Minimal Residual) 기법을 활용하는 것을 특징으로 하는 장치.
  7. 그래프 랭킹 수행 방법에 있어서,
    그래프의 구조에 따라서 상기 그래프에 대응되는 인접 행렬을 재정렬하는 단계;
    상기 재정렬된 인접 행렬을 복수의 부분 행렬들로 분할하고, 상기 분할된 부분 행렬들을 상기 그래프의 랭킹 계산을 위한 선형 시스템에 대입함으로써 상기 그래프의 랭킹 계산을 위한 전처리를 수행하는 단계; 및
    상기 전처리 결과를 이용하고, 상기 그래프의 랭킹을 나타내는 벡터에 포함된 적어도 하나의 원소에 대해서는 반복적인 연산을 수행함으로써 상기 벡터를 산출하는 단계를 포함하는 방법.
  8. 제7항에 있어서,
    상기 재정렬하는 단계는,
    둘 이상의 노드 재정렬 기법을 상기 인접 행렬에 적용함으로써 상기 인접 행렬을 재정렬하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서,
    상기 재정렬하는 단계는,
    데드 엔드 재정렬 기법 및 허브-앤-스포크 재정렬 기법을 상기 인접 행렬에 순차적으로 적용하는 것을 특징으로 하는 방법.
  10. 제7항에 있어서,
    상기 전처리를 수행하는 단계는,
    상기 선형 시스템에 블록 제거 기법을 적용함으로써 상기 전처리를 수행하는 것을 특징으로 하는 방법.
  11. 제7항에 있어서,
    상기 벡터를 산출하는 단계는,
    상기 전처리 결과 얻은 행렬 중 적어도 하나의 프리컨디셔너(preconditioner)를 이용하여 상기 적어도 하나의 원소에 대한 반복연산을 수행하는 것을 특징으로 하는 방법.
  12. 제7항에 있어서,
    상기 벡터를 산출하는 단계는,
    상기 적어도 하나의 원소에 대한 반복연산을 수행함에 있어서 GMRES (Generalized Minimal Residual) 기법을 활용하는 것을 특징으로 하는 방법.
  13. 그래프 랭킹 수행 장치에 의해 수행되며, 제7항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
  14. 제7항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체.
KR1020160183757A 2016-12-30 2016-12-30 그래프 랭킹 수행 방법 및 장치 KR101946692B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160183757A KR101946692B1 (ko) 2016-12-30 2016-12-30 그래프 랭킹 수행 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160183757A KR101946692B1 (ko) 2016-12-30 2016-12-30 그래프 랭킹 수행 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180078712A true KR20180078712A (ko) 2018-07-10
KR101946692B1 KR101946692B1 (ko) 2019-02-11

Family

ID=62915658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160183757A KR101946692B1 (ko) 2016-12-30 2016-12-30 그래프 랭킹 수행 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101946692B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102113094B1 (ko) * 2018-11-28 2020-05-20 서울대학교산학협력단 부호화된 소셜 네트워크에서 블록 제거 기법을 활용한 빠른 개인화된 랭킹 방법 및 장치
KR20200063904A (ko) * 2018-11-28 2020-06-05 서울대학교산학협력단 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318908A (ja) * 2000-04-07 2001-11-16 Nec Corp ウェブ・ページの結合および使用を探査するためにランダム・ウォークを使用するシステムおよび方法
JP2007041700A (ja) * 2005-08-01 2007-02-15 Nippon Telegr & Teleph Corp <Ntt> トピック抽出装置、トピック抽出方法、トピック抽出プログラム、および、記憶媒体
JP5200750B2 (ja) * 2008-08-08 2013-06-05 株式会社リコー 情報検索装置、情報検索方法、プログラム、および記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318908A (ja) * 2000-04-07 2001-11-16 Nec Corp ウェブ・ページの結合および使用を探査するためにランダム・ウォークを使用するシステムおよび方法
JP2007041700A (ja) * 2005-08-01 2007-02-15 Nippon Telegr & Teleph Corp <Ntt> トピック抽出装置、トピック抽出方法、トピック抽出プログラム、および、記憶媒体
JP5200750B2 (ja) * 2008-08-08 2013-06-05 株式会社リコー 情報検索装置、情報検索方法、プログラム、および記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
박남용 외 2명. '대용량 그래프 압축과 마이닝을 위한 그래프 정점 재배치 분산 알고리즘'. 정보과학회논문지 제43권 제10호, pp.1131-1143. (2016.10.) *
진우정 외 2명. '랜덤 워크를 활용한 그래프 랭킹 기반 추천 시스템'. 정보과학회지 제34권 제6호, pp.30-35 (2016.06.) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102113094B1 (ko) * 2018-11-28 2020-05-20 서울대학교산학협력단 부호화된 소셜 네트워크에서 블록 제거 기법을 활용한 빠른 개인화된 랭킹 방법 및 장치
KR20200063904A (ko) * 2018-11-28 2020-06-05 서울대학교산학협력단 다중 간선 라벨 그래프의 정점들 간 관련도를 측정하는 방법 및 장치

Also Published As

Publication number Publication date
KR101946692B1 (ko) 2019-02-11

Similar Documents

Publication Publication Date Title
JP7186797B2 (ja) 量子計算のための方法及びシステム
US11645529B2 (en) Sparsifying neural network models
CN107358293B (zh) 一种神经网络训练方法及装置
US20190180176A1 (en) Concurrent training of functional subnetworks of a neural network
JP7450815B2 (ja) 階層的重み疎畳み込み処理のための方法とシステム
US20170169326A1 (en) Systems and methods for a multi-core optimized recurrent neural network
EP3029614B1 (en) Parallel development and deployment for machine learning models
JP6393058B2 (ja) 情報処理装置、情報処理方法
CN110874636B (zh) 一种神经网络模型压缩方法、装置和计算机设备
JP2018508887A (ja) データ処理システム、計算ノードおよびデータ処理方法
JP2017130036A (ja) 情報処理装置、演算方法、および演算プログラム
KR101946692B1 (ko) 그래프 랭킹 수행 방법 및 장치
JP7425362B2 (ja) 学習方法、高分解能化方法、学習装置及びコンピュータープログラム
CN111914378A (zh) 一种单振幅量子计算模拟方法
US20230316080A1 (en) Sparsity masking methods for neural network training
TWI770967B (zh) 一種神經網路的訓練方法、視頻識別方法及電腦設備和電腦可讀儲存介質
CN111931939A (zh) 一种单振幅量子计算模拟方法
JP6992688B2 (ja) 処理装置、方法、及びプログラム
KR102048442B1 (ko) 네트워크에서의 랭킹 및 연결 예측을 위한 지도식 확장 랜덤 워크를 제공하는 방법 및 장치
KR102027034B1 (ko) 병렬 처리를 통한 다차원 데이터 분석을 지원하는 장치 및 그 방법
KR102447870B1 (ko) 텐서 분해 방법 및 이를 수행하기 위한 장치
US11630703B2 (en) Cluster update accelerator circuit
US11500963B2 (en) Fast PCA of evolving data using analog crossbar array
KR20200022585A (ko) 효율적인 신경망 설계를 위한 선택적 합성곱 유닛
WO2023067792A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体

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