KR101858178B1 - 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 - Google Patents
소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 Download PDFInfo
- Publication number
- KR101858178B1 KR101858178B1 KR1020170003114A KR20170003114A KR101858178B1 KR 101858178 B1 KR101858178 B1 KR 101858178B1 KR 1020170003114 A KR1020170003114 A KR 1020170003114A KR 20170003114 A KR20170003114 A KR 20170003114A KR 101858178 B1 KR101858178 B1 KR 101858178B1
- Authority
- KR
- South Korea
- Prior art keywords
- vertex
- path
- shortest path
- graph
- calculating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법에 관한 것으로, 본 발명의 실시예에 따른 근사 최단 경로 검색 시스템은 소셜 네트워크 서비스에 대응하는 그래프를 생성하는 그래프 생성부, 생성된 그래프에서 이웃한 두 정점의 친밀도를 산출하는 친밀도 산출부, 생성된 그래프의 정점과 정점에 연결되어 있는 랜드마크의 최단 경로를 산출하는 전처리부, 산출된 최단 경로와 최단 경로에 포함되어 있는 정점정보를 포함하는 정점별 경로정보를 저장하는 경로정보 저장부, 그리고 저장되어 있는 정점별 경로정보에 기초하여 두 개의 정점에 대응하는 최단 경로를 검색하는 경로 탐색부를 포함한다.
Description
본 발명은 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법에 관한 것이다.
사람들은 사회적 관계를 맺고 싶은 목표 인물이 있을 때, 둘 사이를 연결시켜 줄 중개인을 찾는다. 이는 목표 인물에게 직접 접근하는 것보다 중개인을 통해 목표 인물에게 접근하는 경우 좀 더 자연스럽게 접근할 수 있으며 목표 인물(상대방)에게 신뢰감을 줄 수 있기 때문이다.
온라인 소셜 네트워크에서, 서비스 이용자를 그래프의 정점, 이용자 간의 친구 관계를 간선으로 표현하는 경우 두 정점을 연결하는 경로를 검색하여 두 이용자를 소개해 줄 중개인을 찾을 수 있다.
종래 최단 경로 탐색 알고리즘으로는 다익스트라 알고리즘 및 벨만-포드 알고리즘 등이 있다. 그러나 온라인 소셜 네트워크는 매우 많은 정점과 간선을 포함하는 점에서 이러한 알고리즘을 통해 최단 경로를 탐색하는 데에 많은 시간이 소요되므로 소셜 네트워크 서비스 사용자의 실시간 질의에 응답하는 것은 어려울 수 있다.
본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-1165311호(2012.07.06.)에 개시되어 있다
본 발명의 배경이 되는 기술은 대한민국 등록특허공보 제10-1165311호(2012.07.06.)에 개시되어 있다
본 발명의 일 실시예가 해결하려는 과제는 소셜 네트워크 그래프의 전처리 결과에 기초하여 소셜 네트워크 서비스 이용자의 질의에 대응하는 근사 최단 경로를 실시간으로 검색하는 시스템 및 방법을 제공하는 것이다.
본 발명의 일 실시예가 해결하려는 과제는 소셜 네트워크 그래프에서 정점의 중심성에 기초하여 시드집합을 추출하는 근사 최단 경로 검색 시스템 및 방법을 제공하는 것이다.
상기 과제 이외에도 구체적으로 언급되지 않은 다른 과제를 달성하는 데 본 발명에 따른 실시예가 사용될 수 있다.
상기 과제를 해결하기 위해 본 발명의 일 실시예는, 소셜 네트워크 서비스에 대응하는 그래프를 생성하는 그래프 생성부, 생성된 그래프에서 이웃한 두 정점의 친밀도를 산출하는 친밀도 산출부, 생성된 그래프의 정점과 정점에 연결되어 있는 랜드마크의 최단 경로를 산출하는 전처리부, 산출된 최단 경로와 최단 경로에 포함되어 있는 정점정보를 포함하는 정점별 경로정보를 저장하는 경로정보 저장부, 그리고 저장되어 있는 정점별 경로정보에 기초하여 두 개의 정점에 대응하는 최단 경로를 검색하는 경로 탐색부를 포함하는 근사 최단 경로 검색 시스템을 제안한다.
여기서, 친밀도 산출부는, 아래의 수학식에 의해 이웃하는 정점 A와 정점 B의 친밀도를 산출할 수 있다.
또한, 전처리부는, 생성된 그래프에 포함되어 있는 정점의 중심성 지수를 산출하고 산출된 중심성 지수에 기초하여 정점별 시드집합을 생성하며 생성된 시드집합에서 하나의 랜드마크를 추출하여 정점과 추출된 랜드마크 사이의 최단 경로를 산출할 수 있다.
또한, 경로 탐색부는, 저장되어 있는 경로정보 중 출발지 정점에 대응하는 경로정보와 도착지 정점에 대응하는 경로정보에 기초하여 출발지 정점과 도착지 정점의 사이의 경로를 수집하고, 수집된 경로 중에서 친밀도가 최대인 경로를 검색할 수 있다.
또한, 경로 탐색부는, 소셜 네트워크 서비스의 이용자로부터 질의가 수신되는 경우 이용자에 대응하는 정점과 이용자의 목표 인물에 대응하는 정점 사이의 최단 경로를 검색할 수 있다.
상기 과제를 해결하기 위해 본 발명의 일 실시예는, 그래프 생성부에서 소셜 네트워크 서비스에 대응하는 그래프를 생성하는 단계, 친밀도 산출부에서 생성된 그래프에서 이웃한 두 정점의 친밀도를 산출하는 단계, 전처리부에서 생성된 그래프에 포함되어 있는 정점의 중심성 지수를 산출하는 단계, 전처리부에서 산출된 중심성 지수에 기초하여 정점별 시드집합을 생성하는 단계, 전처리부에서 생성된 시드집합에서 하나의 랜드마크를 추출하고 정점과 추출된 랜드마크 사이의 최단 경로를 산출하는 단계, 경로정보 저장부에서 산출된 최단 경로와 최단 경로에 포함되어 있는 정점정보를 포함하는 정점별 경로정보를 저장하는 단계, 그리고 경로 탐색부에서 저장되어 있는 정점별 경로정보에 기초하여 두 개의 정점에 대응하는 최단 경로를 검색하는 단계를 포함하는 근사 최단 경로 검색 방법을 제안한다.
여기서, 최단 경로를 검색하는 단계는, 저장되어 있는 정점별 경로정보 중 출발지 정점에 대응하는 경로정보와 도착지 정점에 대응하는 경로정보에 기초하여 출발지 정점과 도착지 정점의 사이의 경로를 수집하는 단계, 그리고 수집된 경로 중에서 친밀도가 최대인 경로를 검색하는 단계를 포함할 수 있다.
또한, 최단 경로를 검색하는 단계는, 소셜 네트워크 서비스의 이용자로부터 질의가 수신되는 경우 이용자에 대응하는 정점과 이용자의 목표 인물에 대응하는 정점 사이의 최단 경로를 검색할 수 있다.
본 발명의 실시예에 따르면 짧은 시간 내에 최단 경로를 검색하여 소셜 네트워크 서비스 이용자의 질의에 신속하게 응답할 수 있다. 또한, 종래 최단 경로 알고리즘 대비 최단 경로 검색 정확도를 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 근사 최단 경로 검색 시스템의 구성을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 소셜 네트워크 그래프이다.
도 3은 도 1의 근사 최단 경로 검색 시스템을 이용한 근사 최단 경로 검색 방법을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 소셜 네트워크 그래프이다.
도 3은 도 1의 근사 최단 경로 검색 시스템을 이용한 근사 최단 경로 검색 방법을 나타낸다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대해 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으므로 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체에서 동일 또는 유사한 구성요소에 대해서는 동일한 도면부호가 사용되었다. 또한, 널리 알려진 공지기술의 경우 그 구체적인 설명은 생략한다.
본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본 명세서에 기재된 "…부", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 근사 최단 경로 검색 시스템의 구성을 나타낸다.
도 1의 근사 최단 경로 검색 시스템은 두 명의 서비스 이용자를 연결하는 최단 경로를 검색하며, 그래프 생성부(110), 친밀도 산출부(120), 전처리부(130), 경로정보 저장부(140), 그리고 경로 탐색부(150)를 포함한다.
그래프 생성부(110)는 소셜 네트워크 서비스 이용자들의 연결 구조를 시각화하여 나타내는 소셜 네트워크 그래프(이하 "그래프"라고 함)를 생성한다. 그래프에서 서비스 이용자는 정점(node)으로 표현하고, 서비스 이용자 간의 관계는 간선(edge)으로 표현한다.
친밀도 산출부(120)는 그래프 생성부(110)를 통해 생성된 그래프에서 이웃한 두 정점의 친밀도(intimacy)를 산출한다. 구체적으로, 아래 수학식 1로 정의되는 neighborhood overlap을 이용하여 간선으로 연결된 두 정점 A와 B 사이의 친밀도를 산출한다. 이때, 분모 계산시 A와 B를 포함하여 셈함으로써 친밀도가 항상 0보다 크고 1보다 작은 값으로 산출된다.
경로의 친밀도는 경로에 속한 간선(e)의 친밀도를 모두 곱한 값으로 정의하며, 아래 수학식 2를 최대화하여 경로의 친밀도를 최대화할 수 있다. 여기서, 경로는 두 개의 정점을 연결하는 간선의 집합을 의미한다.
수학식 2의 최대화는 로그를 취한 아래 수학식 3을 최대화하려는 것과 같고, 마이너스 기호를 붙인 아래 수학식 4를 최소화하려는 것과 같다.
여기서, intimacy(e)가 1 미만이므로, -log intimacy(e)는 양의 값을 가진다. 또한, -log intimacy(e)를 간선 e의 가중치로 하고 간선 가중치의 합이 최소인 경로를 검색하면 친밀도가 최대인 경로를 찾을 수 있다.
전처리부(130)는 그래프의 각 정점에서 정점에 연결되어 있는 랜드마크까지의 최단 경로를 산출한다. 구체적으로, 그래프에 포함되어 있는 각 정점들의 중심성 지수인 페이지랭크(pagerank)를 산출하고, 각 정점의 페이지랭크 산출결과에 기초하여 정점별 시드집합을 생성한다. 이후, 시드집합에서 하나의 랜드마크를 추출하여 최단 경로를 산출한다. 예를 들어, 시드집합 S1은 페이지랭크가 1위인 정점(a)을 포함하고 시드집합 S2는 페이지랭크가 2위인 정점(b)을 포함할 수 있다. 이때, 각 시드집합을 구성하는 정점의 개수가 하나이므로 시드집합의 원소가 되는 정점(a)와 정점(b)를 랜드마크로 추출하여 최단 경로를 산출할 수 있다.
이에 따라, 각 정점으로부터 그 정점이 가진 랜드마크까지의 최단 거리를 이용하여 두 정점의 최단 거리를 검색할 수 있다. 예를 들어, 두 정점 u와 v가 공통의 랜드마크 l을 가지는 경우 u와 v 사이의 최단 거리는 d(u,l)+d(l,v)로 산출할 수 있다.
경로정보 저장부(140)는 전처리부(130)의 최단 경로 산출 결과를 저장한다. 본 발명의 실시예에서는 각 정점에서 랜드마크까지의 최단 경로 산출 결과를 저장하는 공간을 스케치(sketch)라 지칭한다. 구체적으로, 스케치는 각 정점에서 랜드마크까지의 최단 경로에 포함되어 있는 정점 정보를 저장한다. 예를 들어, 정점이 v, 정점 v의 랜드마크가 l1, l2, l3라고 하면, 정점 v의 스케치(sketch[v])는 v -> r1 -> r2 -> … -> l1, v -> t1 -> t2 -> l2, v -> m1 -> m2 -> m3 -> l3 를 저장할 수 있다.
경로 탐색부(150)는 사용자 단말로부터 전송되는 질의를 실시간으로 수신하고 사용자 정점의 스케치 및 친밀도 산출결과에 기초하여 사용자와 목표 인물까지의 최단 경로를 탐색하여 사용자 단말로 전송한다. 구체적으로, 아래의 두 가지 알고리즘을 이용하여 사용자(src)와 목표 인물(dst) 사이의 최단 경로를 검색하여 출력한다.
알고리즘 1 :
sketchSC
(
graph
,
src
,
dst
,
sketch
)
1. sketch[src]와 sketch[dst] 중 랜드마크가 겹치는 경로를 수집한다.
2. 수집된 경로 (src = v1, v2, … vm, landmark, un,…, u2, u1 = dst)에 대해, 랜드마크를 사이에 둔 모든 정점 쌍 (vi, uj)에 대응하는 간선의 존재 유무를 확인한다.
3. 정점 쌍 (vi, uj)에 대응하는 간선이 존재하는 경우 경로 (src = v1, v2, … vi, uj,…,u2, u1 = dst)를 수집한다.
4. 1과 2에서 수집한 경로 중 간선 가중치의 합이 가장 작은 경로를 사용자 단말로 전송한다.
알고리즘 2 :
tree
sketch
(
graph
,
src
,
dst
,
sketch
)
1. foreach path in sketch[src]:
foreach (u,v) in path:
link_to_src[v] = u
2. foreach path in sketch[dst]:
foreach (u,v) in path:
link_to_dst[v] = u
3. foreach key ss in link_to_src:
foreach key dd in link_to_dst"
if graph has the edge (ss, dd):
경로 (src, …, ss, dd, …, dst)를 수집한다.
4. 3에서 수집한 경로 중 간선 가중치의 합이 가장 작은 경로를 출력한다.
구체적으로, sketch[src]의 모든 경로를 이용하여 src를 루트로 하는 트라이(trie)와 유사한 구조의 트리를 구성한다. 이때, link_to_src는 각 정점마다 트리의 부모를 저장하기 위한 dictionary이며, 경로에서 인접한 두 정점 중 src에 가까운 쪽이 부모가 된다. 또한, link_to_dst는 link_to_src와 거의 유사하며 link_to_src와 link_to_dst를 이용하여 3에서 경로(src, …, ss, dd, …, dst)를 수집한다.
도 2는 본 발명의 일 실시예에 따른 소셜 네트워크 그래프이다.
도 2의 그래프에서 보면, 서비스 이용자(Salma, 김기리, 임동현, 박석재, 강감찬, 노용구, 홍길동)는 정점으로 나타내고, 서비스 이용자와 다른 서비스 이용자의 연결 관계는 간선으로 나타낸다. 또한, 도 1의 근사 최단 경로 검색 시스템을 통해 산출된 간선에 대응하는 친밀도와 노용구와 임동현 사이의 최단경로 검색 결과를 나타낸다.
아래 표 1은 소셜 네트워크(Facebook)를 이용하여 다익스트라 알고리즘, 본 발명의 실시예인 알고리즘 1, 그리고 본 발명의 실시예인 알고리즘 2를 통해 최단 경로 검색을 수행한 결과를 나타내며, 1000개의 무작위 출발점-도착점 쌍에 대한 평균값을 나타낸다(모든 정점 쌍에 대해 연결경로가 존재).
정점 개수 | 4,039 | |||
간선 개수 | 88,234 | |||
Sketch 구성 시간(second) | 10.639 | |||
평균 수행 시간(ms) | 평균 오차 | |||
Dijkstra's(다익스트라) | 133.1468 | |||
sketchSC(알고리즘1) | 1.1638 | 1.1284 | ||
tree_sketch(알고리즘2) | 3.4317 | 1.0820 |
아래 표 2는 과학 논문 공동저자 네트워크(Astro Physics collaboration network)를 이용하여 다익스트라 알고리즘, 본 발명의 실시예인 알고리즘 1, 그리고 본 발명의 실시예인 알고리즘 2를 통해 최단 경로 검색을 수행한 결과를 나타낸다. 표 2는 1000개의 무작위 출발점-도착점 쌍 중 경로가 존재하는 정점 쌍들(916쌍)에 대한 평균값을 나타낸다.
정점 개수 | 18,772 | ||
간선 개수 | 198,110 | ||
Sketch 구성 시간(second) | 35.929 | ||
평균 수행 시간(ms) | 평균 오차 | ||
Dijkstra's(다익스트라) | 474.6223 | ||
sketchSC(알고리즘1) | 0.7807 | 2.3335 | |
tree_sketch(알고리즘2) | 6.7756 | 1.8647 |
아래의 표 3은 소셜 네트워크(Facebook)를 이용하여 전처리 과정에서 시드 집합을 무작위로 추출하는 알고리즘을 수행한 결과이다. 표 3은 100개의 무작위 출발점-도착점 쌍에 대한 평균값을 나타낸다(모든 정점 쌍에 대해 연결경로가 존재).
정점 개수 | 4,039 | ||
간선 개수 | 88,234 | ||
Sketch 구성 시간(second) | 5.610 | ||
평균 수행 시간(ms) | 평균 오차 | ||
Dijkstra's(다익스트라) | 133.8977 | ||
sketchSC(알고리즘1) | 0.2856 | 1.6971 | |
tree_sketch(알고리즘2) | 1.0829 | 1.1470 |
표 1 내지 표 3에서 보면, 본 발명의 실시예에 따른 알고리즘 1을 이용하는 경우 최단 경로 검색 시간이 가장 적으며, 알고리즘 2를 이용하는 경우 오차가 가장 적은 것을 확인할 수 있다.
도 3은 도 1의 근사 최단 경로 검색 시스템을 이용한 근사 최단 경로 검색 방법을 나타낸다.
먼저, 그래프 생성부(110)를 통해 소셜 네트워크 그래프를 생성한다(S10).
이후, 친밀도 산출부(120)를 통해 S10 단계에서 생성된 소셜 네트워크 그래프에서 이웃한 두 정점의 친밀도(intimacy)를 산출한다(S20).
이후, 전처리부(130)를 통해 S10 단계에서 생성된 소셜 네트워크 그래프에 포함되어 있는 정점과 정점의 랜드마크 사이의 최단 경로를 산출한다(S30). S30 단계에서는 각 정점들의 페이지랭크를 산출하고, 각 정점의 페이지랭크 산출결과에 기초하여 시드집합을 생성한다. 이때, 시드집합은 하나의 정점을 포함하므로 시드집합과 랜드마크는 동일하다. 이후, 정점에서 랜드마크까지의 최단 경로를 산출한다.
이후, S30 단계에서 산출된 최단 경로 정보를 경로정보 저장부(140)에 저장한다(S40). S40 단계에서는 각 정점에서 랜드마크까지의 최단 경로에 포함되어 있는 정점 정보를 경로정보 저장부(140)에 저장한다.
이후, 사용자 단말로부터 전송되는 질의가 수신되는 경우(S50) 경로 탐색부(150)를 통해 사용자와 목표 인물 사이의 최단 경로를 검색하여 사용자 단말로 전송한다(S60). S60 단계의 최단 경로 검색 방법은 위에서 설명한 알고리즘 1 또는 알고리즘 2를 이용하는 것이므로 중복되는 설명은 생략한다.
도 3에서는 S10 단계 내지 S60 단계를 순차적으로 설명하였으나, 본 발명의 실시예에 따른 근사 최단 경로 검색 방법은 경로 탐색에 대한 이용자의 요청이 수신되는 경우 경로정보 저장부(140)에 저장되어 있는 S10 단계 내지 S40 단계의 수행결과에 기초하여 S50 단계와 S60 단계를 반복한다. 이때, 정점 및 간선의 추가 및 삭제가 감지되는 경우 S10 단계 내지 S40 단계를 수행하여 경로정보 저장부(140)에 저장되어 있는 경로정보를 업데이트할 수 있다.
본 발명의 실시예에 따르면 이용자가 소셜 네트워크 서비스를 이용하지 않는 시간에 친밀도 산출 및 전처리 과정을 수행하여 스케치를 저장하고, 소셜 네트워크 서비스 이용자의 질의가 수신되는 경우 저장되어 있는 스케치에 기초하여 근사 최단 경로를 신속하게 검색하여 응답성을 향상시킬 수 있다.
본 발명의 실시예에 따르면 정점의 중심성 지수에 기초하여 랜드마크(시드집합)를 추출함으로써 랜드마크가 될 정점을 무작위로 추출하고 랜드마크 추출 과정을 여러번 반복하여 랜드마크를 선정하는 종래 최단 경로 탐색 방법 대비 최단 경로 탐색 정확도 및 효율을 향상시킬 수 있다. 예를 들어, 페이지랭크를 이용하여 실제 소셜 네트워크 환경에서 기업의 인사담당자 또는 대학교 동아리 회장 등과 같이 중개인이 될 가능성이 높은 사용자(정점)들을 랜드마크로 추출하여 목표 인물과 사용자 사이의 최적의 중개인을 제공할 수 있다.
본 발명의 실시예에 따른 근사 최단 경로 검색 시스템 및 방법은 간선 가중치가 없는 그래프와 간선 가중치가 있는 그래프에 모두 적용할 수 있다. 또한, 종래 최단 경로 알고리즘 대비 최단 경로 검색 과정을 단순화하여 불필요한 오버헤드를 제거할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.
100 : 근사 최단 경로 검색 시스템
110 : 그래프 생성부
120 : 친밀도 산출부
130 : 전처리부
140 : 경로정보 저장부
150 : 경로 탐색부
110 : 그래프 생성부
120 : 친밀도 산출부
130 : 전처리부
140 : 경로정보 저장부
150 : 경로 탐색부
Claims (8)
- 소셜 네트워크 서비스에 대응하는 그래프를 생성하는 그래프 생성부,
생성된 상기 그래프에 포함되어 있는 정점들의 연결 관계에 기초하여 이웃한 두 정점의 친밀도를 산출하고, 이웃하지 않는 두 정점의 경로의 친밀도를 산출하는 친밀도 산출부,
생성된 상기 그래프의 정점과 정점에 연결되어 있는 랜드마크의 최단 경로를 산출하는 전처리부,
산출된 상기 최단 경로와 상기 최단 경로에 포함되어 있는 정점정보를 포함하는 정점별 경로정보를 저장하는 경로정보 저장부, 그리고
상기 소셜 네트워크 서비스의 이용자로부터 질의가 수신되는 경우 상기 이용자에 대응하는 제1 정점과 상기 이용자의 목표 인물에 대응하는 제2 정점 사이의 경로에 대응하는 친밀도 산출 결과, 상기 제1 정점의 경로정보 및 상기 제2 정점의 경로정보에 기초하여 상기 제1 정점과 상기 제2 정점 사이의 최단 경로를 검색하는 경로 탐색부
를 포함하는 근사 최단 경로 검색 시스템. - 제1항에서,
상기 전처리부는, 생성된 상기 그래프에 포함되어 있는 정점의 중심성 지수를 산출하고 산출된 중심성 지수에 기초하여 정점별 시드집합을 생성하며 생성된 상기 시드집합에서 하나의 랜드마크를 추출하여 정점과 추출된 상기 랜드마크 사이의 최단 경로를 산출하는 근사 최단 경로 검색 시스템. - 제1항에서,
상기 경로 탐색부는, 저장되어 있는 상기 경로정보 중 출발지 정점에 대응하는 경로정보와 도착지 정점에 대응하는 경로정보에 기초하여 출발지 정점과 도착지 정점의 사이의 경로를 수집하고, 수집된 경로 중에서 친밀도가 최대인 경로를 검색하는 근사 최단 경로 검색 시스템. - 삭제
- 그래프 생성부에서 소셜 네트워크 서비스에 대응하는 그래프를 생성하는 단계,
친밀도 산출부에서 생성된 상기 그래프에 포함되어 있는 정점들의 연결 관계에 기초하여 이웃한 두 정점의 친밀도를 산출하고, 이웃하지 않는 두 정점의 친밀도를 산출하는 단계,
전처리부에서 생성된 상기 그래프에 포함되어 있는 정점의 중심성 지수를 산출하는 단계,
상기 전처리부에서 산출된 상기 중심성 지수에 기초하여 정점별 시드집합을 생성하는 단계,
상기 전처리부에서 생성된 상기 시드집합에서 하나의 랜드마크를 추출하고 정점과 추출된 상기 랜드마크 사이의 최단 경로를 산출하는 단계,
경로정보 저장부에서 산출된 상기 최단 경로와 상기 최단 경로에 포함되어 있는 정점정보를 포함하는 정점별 경로정보를 저장하는 단계, 그리고
경로 탐색부에서 저장되어 있는 상기 정점별 경로정보에 기초하여 두 개의 정점에 대응하는 최단 경로를 검색하는 단계
를 포함하며,
상기 최단 경로를 검색하는 단계는, 상기 소셜 네트워크 서비스의 이용자로부터 질의가 수신되는 경우 상기 이용자에 대응하는 제1 정점과 상기 이용자의 목표 인물에 대응하는 제2 정점 사이의 경로에 대응하는 친밀도 산출결과, 상기 제1 정점의 경로정보 및 상기 제2 정점의 경로정보에 기초하여 상기 제1 정점과 상기 제2 정점 사이의 최단 경로를 검색하는 근사 최단 경로 검색 방법. - 제6항에서,
상기 최단 경로를 검색하는 단계는, 저장되어 있는 상기 정점별 경로정보 중 출발지 정점에 대응하는 경로정보와 도착지 정점에 대응하는 경로정보에 기초하여 출발지 정점과 도착지 정점의 사이의 경로를 수집하는 단계, 그리고 수집된 경로 중에서 친밀도가 최대인 경로를 검색하는 단계를 포함하는 근사 최단 경로 검색 방법. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170003114A KR101858178B1 (ko) | 2017-01-09 | 2017-01-09 | 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170003114A KR101858178B1 (ko) | 2017-01-09 | 2017-01-09 | 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101858178B1 true KR101858178B1 (ko) | 2018-05-15 |
Family
ID=62186931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170003114A KR101858178B1 (ko) | 2017-01-09 | 2017-01-09 | 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101858178B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128743A (zh) * | 2020-01-15 | 2021-07-16 | 北京京东振世信息技术有限公司 | 一种拣货路径规划方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101165311B1 (ko) * | 2005-07-13 | 2012-07-18 | 엔에이치엔(주) | 다면적인 관계 설정을 촉진하기 위한 온라인상 휴먼네트워크 관리 시스템 및 방법 |
-
2017
- 2017-01-09 KR KR1020170003114A patent/KR101858178B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101165311B1 (ko) * | 2005-07-13 | 2012-07-18 | 엔에이치엔(주) | 다면적인 관계 설정을 촉진하기 위한 온라인상 휴먼네트워크 관리 시스템 및 방법 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128743A (zh) * | 2020-01-15 | 2021-07-16 | 北京京东振世信息技术有限公司 | 一种拣货路径规划方法和装置 |
CN113128743B (zh) * | 2020-01-15 | 2024-05-28 | 北京京东振世信息技术有限公司 | 一种拣货路径规划方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE44876E1 (en) | Proximity search methods using tiles to represent geographical zones | |
US11042572B2 (en) | System and method for spatial clustering using multiple-resolution grids | |
CN106874422B (zh) | 一种面向关系型数据库的图查询方法 | |
US9524316B2 (en) | Processing search queries using a data structure | |
Huang et al. | Continuous distance-based skyline queries in road networks | |
US8744770B2 (en) | Path oracles for spatial networks | |
US8958826B2 (en) | Device and method for mobility pattern mining | |
US20130144524A1 (en) | Double-hub indexing in location services | |
RU2008149110A (ru) | Адаптивный индекс с переменным сжатием | |
CN112328877B (zh) | 时间依赖路网上多用户的skyline查询的方法 | |
US20120192138A1 (en) | Graph partitioning with natural cuts | |
CN108733803A (zh) | 一种道路网络下多用户空间关键词查询方法 | |
US20160055660A1 (en) | Apparatus and method for generating a shortest-path tree in a graph | |
Samrose et al. | Efficient computation of group optimal sequenced routes in road networks | |
CN107506490A (zh) | 滑动窗口下基于位置top‑k关键词查询的优先查询算法及系统 | |
KR101858178B1 (ko) | 소셜 네트워크에서 두 사람을 연결하는 근사 최단 경로 검색 시스템 및 방법 | |
US20070073897A1 (en) | Optimal sequenced route query operation and device | |
CN102999558B (zh) | 使用数据结构处理搜索查询 | |
CN117171801B (zh) | 一种隐私保护强度可调的高效空间查询方法及系统 | |
KR101719714B1 (ko) | 동적 환경 소셜 네트워크 그래프에서 다중 제약 조건 그래프 패턴 매칭을 위한 효율적인 인덱스 갱신 방법 및 장치 | |
Barua et al. | Weighted optimal sequenced group trip planning queries | |
Madria et al. | Ridesharing-inspired trip recommendations | |
CN105740246B (zh) | 基于图数据的集合关键字查询方法 | |
KR102279323B1 (ko) | 에지 프루닝을 이용한 그래프 희소화 방법 및 장치 | |
KR20190057524A (ko) | 분산 환경 데이터베이스 상에서의 융합형 개미집단 알고리즘 기반 질의 최적화 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |