KR20220126475A - Online graph matching methods with worst-case reassignment budgets - Google Patents

Online graph matching methods with worst-case reassignment budgets Download PDF

Info

Publication number
KR20220126475A
KR20220126475A KR1020210030799A KR20210030799A KR20220126475A KR 20220126475 A KR20220126475 A KR 20220126475A KR 1020210030799 A KR1020210030799 A KR 1020210030799A KR 20210030799 A KR20210030799 A KR 20210030799A KR 20220126475 A KR20220126475 A KR 20220126475A
Authority
KR
South Korea
Prior art keywords
online
matching
path
graph matching
selecting
Prior art date
Application number
KR1020210030799A
Other languages
Korean (ko)
Other versions
KR102574886B1 (en
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 KR1020210030799A priority Critical patent/KR102574886B1/en
Publication of KR20220126475A publication Critical patent/KR20220126475A/en
Application granted granted Critical
Publication of KR102574886B1 publication Critical patent/KR102574886B1/en

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/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • 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/903Querying
    • G06F16/90335Query processing
    • 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/903Querying
    • G06F16/9038Presentation of query results

Landscapes

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

Abstract

The present embodiments provide an online graph matching method that proposes a criterion that restricts the number of reallocations that occur whenever an object is known little-by-little and enables to comply with an appointment for which has been decided to pair the vertex. The online graph matching method comprises: a step of receiving the information; a step of selecting one increase path; and a step of matching for which does not perform increased matching.

Description

제한된 개수의 재할당이 가능한 온라인 그래프 매칭 방법 {ONLINE GRAPH MATCHING METHODS WITH WORST-CASE REASSIGNMENT BUDGETS}ONLINE GRAPH MATCHING METHODS WITH WORST-CASE REASSIGNMENT BUDGETS}

본 발명이 속하는 기술 분야는 온라인 그래프 매칭 방법에 관한 것이다. The technical field to which the present invention pertains relates to an online graph matching method.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The content described in this section merely provides background information for the present embodiment and does not constitute the prior art.

"그래프 매칭"은 정점들의 집합이 주어지고, 이들 중 서로 짝짓는 것이 허용되는 두 정점들의 쌍이 에지로 주어질 때, 가급적 많은 짝을 만들되 어떤 정점도 두 번 이상 짝지어지지는 못하게 하는 짝들을 구하는 문제를 말한다. "Graph matching" is the problem of finding pairs that, given a set of vertices, and of which two pairs of vertices are allowed to pair with each other as edges, make as many pairs as possible, but prevent any vertices from being paired more than once. say

하나의 대표적인 응용으로 포털 사이트 입장에서의 온라인 광고 배정을 들 수 있다. 포털 사이트에 사용자가 접근할 때 이 사용자가 보는 화면에 1개 (혹은 일정 개수의) 광고를 표시할 수 있으므로 각 쿼리(query)를 정점으로 볼 수 있다. 포털이 광고주들로부터 사전에 의뢰받은 광고들도 정점으로 볼 수 있다. 광고주들은 쿼리의 검색어가 무엇인지에 따라 자신의 광고를 표시하기를 원할 수도, 그렇지 않을 수도 있다. One representative application is online advertisement allocation from the perspective of a portal site. When a user accesses a portal site, one (or a certain number of) advertisements can be displayed on the screen that the user sees, so each query can be viewed as a vertex. Advertisements that the portal has pre-ordered from advertisers can also be viewed as the apex. Advertisers may or may not want to display their advertisements, depending on what the search terms in the query are.

특정 쿼리와 광고의 쌍은 짝짓는 것이 가능할 수도, 그렇지 않을 수도 있다. 이 쌍들에 대한 정보가 주어질 때, 포털의 이익을 극대화하기 위해 가능한 한 많은 광고를 노출시키는 것은 그래프 매칭 문제에 해당한다. A particular query-advertisement pair may or may not be able to be matched. Given the information about these pairs, it is a graph matching problem to expose as many advertisements as possible in order to maximize the profit of the portal.

이외에도 클라우드 서버에 작업을 할당하는 이른바 로드 밸런싱 문제 등도 그래프 매칭 문제로 볼 수 있으며, 짝지어진 짝의 개수가 아닌 각 짝의 "점수"의 합을 최대화하는 문제 역시 생각해 볼 수 있다.In addition, the so-called load balancing problem of allocating tasks to cloud servers can be viewed as a graph matching problem, and the problem of maximizing the sum of the "scores" of each pair rather than the number of pairs can also be considered.

"온라인 문제"는 입력이 전부 알려지기도 전에 출력을 내고 거기에 대한 약속(commitment)을 할 것이 요구되는 문제이다. 예컨대 앞서 설명한 광고 배정 문제에서 검색어를 입력한 사용자를 마냥 기다리게 할 수는 없으므로, 포털 사이트는 앞으로 어떤 사용자가 어떤 검색어를 입력할지 모르는 상태에서 현재 쿼리에 노출시킬 광고를 선택하여야 한다.An "online problem" is one that requires an output and a commitment to it before the input is fully known. For example, in the advertisement allocation problem described above, since it is impossible to make a user who enters a search term wait forever, the portal site must select an advertisement to be exposed in the current query without knowing which user will enter which search term in the future.

한국등록특허공보 제10-1747854호 (2017.06.09.)Korean Patent Publication No. 10-1747854 (2017.06.09.)

본 발명의 실시예들은 온라인 그래프 매칭에서 정점 혹은 에지로 정의되는 개체가 도착할 때마다 다시 짝지을 수 있는 정점의 수에 제한(k)이 있을 때, 정점을 짝지어주기로 한 약속을 지키면서 적절한 근사해를 찾는 데 주된 목적이 있다.In online graph matching, when there is a limit (k) in the number of vertices that can be paired again whenever an entity defined as a vertex or edge arrives in online graph matching, it is possible to find an appropriate approximate solution while keeping the promise to pair the vertices. has the main purpose of

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other objects not specified in the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

본 실시예의 일 측면에 의하면 온라인 그래프 매칭 장치에 의한 온라인 그래프 매칭 방법에 있어서, 정점(vertex) 또는 에지(edge)로 정의되는 개체를 수신하는 단계, 상기 수신된 개체를 포함하고 제한조건을 만족하는 증가 경로(augmenting path) 중에서 하나의 증가 경로를 선택하는 단계, 및 상기 선택된 증가 경로가 있으면 상기 증가 경로를 따라 에지를 넣고 빼는 매칭 증가를 수행하거나, 상기 선택된 증가 경로가 없으면 매칭 증가를 수행하지 않는 매칭 단계를 포함하는 온라인 그래프 매칭 방법을 제공한다.According to an aspect of this embodiment, in an online graph matching method by an online graph matching apparatus, receiving an object defined as a vertex or an edge, including the received object and satisfying a constraint selecting one incrementing path from among augmenting paths, and performing matching increments by inserting and subtracting edges along the incrementing path if there is the selected incrementing path, or not performing matching increments if there is no selected incrementing path It provides an online graph matching method including a matching step.

상기 제한조건은 상기 증가 경로의 길이가 재할당 개수에 대한 제한 예산(k)-1 보다 짧거나 동일한 것으로 정의될 수 있다.The constraint may be defined as that the length of the increase path is shorter than or equal to the limit budget (k)-1 for the number of reallocations.

상기 하나의 증가 경로를 선택하는 단계는 가장 짧은 경로를 선택하거나 가중치에 따른 가장 이익이 되는 증가 경로를 선택할 수 있다.In the step of selecting one incremental path, a shortest path may be selected or a most beneficial increasing path according to a weight may be selected.

상기 제한 조건을 해석할 때의 상기 제한 예산은 실제 예산보다 더 작은 것으로 간주될 수 있다.When interpreting the constraint conditions, the constrained budget may be considered to be smaller than the actual budget.

상기 선택하는 단계는 상기 증가 경로를 제한적으로 선택하고 상기 매칭 단계에서 기존에 짝지어진 정점을 새로운 정점과 짝짓고, 그 결과 짝을 잃은 정점을 다른 정점과 짝짓는 동작을 반복하는 과정을 거친 후, 정점을 짝지어 주기로 한 약속을 준수할 수 있다.In the selecting step, the increment path is limitedly selected, the previously paired vertices are paired with a new vertex in the matching step, and as a result, the unpaired vertex is paired with another vertex after repeating the operation, You can keep your promise to match the vertices.

상기 매칭 단계를 통해 재할당 개수에 대한 제한 예산 k를 갖는 상기 정점의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under vertex arrivals)에 대해서 상기 k로 표현된 경쟁비로 해를 제공할 수 있다.Through the matching step, a solution to the maximum-cardinality online matching problem under vertex arrivals according to the reception of the vertices having a limited budget k for the number of reallocations is provided with the competition ratio expressed by k. can

상기 매칭 단계를 통해 재할당 개수에 대한 제한 예산 k를 갖는 상기 에지의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under edge arrivals)에 대해서 상기 k로 표현된 경쟁비로 해를 제공할 수 있다.Through the matching step, a solution to the maximum-cardinality online matching problem under edge arrivals according to the reception of the edge having a limited budget k for the number of reallocations is provided with the competition ratio expressed by k. can

상기 매칭 단계를 통해 재할당 개수에 대한 제한 예산을 갖는 상기 정점의 수신에 따른 최대 가중치 온라인 이분 왼쪽 완벽 매칭 문제(maximum-weight online bipartite left-perfect matching problem under vertex arrivals)에 대해서 특정 경쟁비로 해를 제공할 수 있다.Through the matching step, a solution with a specific competition ratio for the maximum-weight online bipartite left-perfect matching problem under vertex arrivals according to the reception of the vertices with a limited budget for the number of reallocations can provide

이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 온라인 그래프 매칭 문제에 대해서 개체가 조금씩 알려질 때마다 일어나는 재할당의 개수를 제한 설정하는 기준을 제시하고 정점을 짝지어 주기로 한 약속을 준수할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, for the online graph matching problem, it is possible to present a criterion for limiting the number of reassignments that occur whenever an entity is known little by little, and to keep the promise of pairing vertices. there is an effect

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if effects not explicitly mentioned herein, the effects described in the following specification expected by the technical features of the present invention and their potential effects are treated as described in the specification of the present invention.

도 1은 본 발명의 일 실시예에 따른 온라인 그래프 매칭 장치를 예시한 블록도이다.
도 2는 본 발명의 다른 실시예에 따른 온라인 그래프 매칭 방법을 예시한 흐름도이다.
1 is a block diagram illustrating an online graph matching apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating an online graph matching method according to another embodiment of the present invention.

이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. Hereinafter, in the description of the present invention, when it is determined that the subject matter of the present invention may be unnecessarily obscured as it is obvious to those skilled in the art with respect to related known functions, the detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail with reference to exemplary drawings.

예컨대 클라우드 서버 로드 밸런싱 문제와 같은 경우에는, 한 번 "짝지어 주기로 약속"한 정점에 대한 약속은 지켜야 하지만, 반드시 특정 두 정점이 짝지어질 필요는 없을 수도 있다. 한 클라우드 서버에서 진행중이던 작업을 다른 서버로 이동시킬 수 있다. 정점을 다시 짝짓는 "재할당"을 한꺼번에 너무 많이 할 수는 없는 노릇이므로, 한 번에 가능한 재할당의 수에 제한을 둔 채 온라인 그래프 매칭 문제를 풀 수 있다면 기존에 재할당이 허용되지 않은 온라인 매칭이 응용되던 다양한 분야에 새로운 기술을 응용할 수 있을 것이다. In the case of cloud server load balancing, for example, a promise to a vertex once "promised to be paired" must be kept, but two specific vertices may not necessarily be paired. A job in progress on one cloud server can be moved to another server. You can't do too many "reassignments" of remapping vertices at once, so if you can solve the online graph matching problem with a limit on the number of possible reallocations at a time, you can't do online graph matching where previously reallocations are not allowed. It will be possible to apply the new technology to various fields where matching has been applied.

본 실시예에 의하면, 이분 그래프(정점이 두 종류가 있고 서로 다른 종류끼리만 짝지어지는, 앞의 쿼리-광고 배정 문제나 클라우드 서버 로드 밸런싱 문제와 같은 경우)의 매칭, 각 에지에 점수가 있고 개수가 아닌 점수를 최대화해야 하는 상황, 정점이 조금씩 알려지는 것이 아니라, 에지가 조금씩 알려지는 상황 등에 대하여, 최적해는 아니라 하더라도 (모든 입력을 보기도 전에 약속을 해야 하므로 최적해를 찾는 것은 불가능) 좋은 근사해를 찾는 방법을 제공한다. 이는 이른바 증가 경로(augmenting path)를 짧게 선택하여, 이 증가 경로를 따라 기존에 매칭에 포함되어 있던 에지를 빼고, 포함되어 있지 않던 에지를 넣는 동작을 반복함으로써 이루어진다.According to this embodiment, matching of a bipartite graph (in the same case as the previous query-advertising assignment problem or cloud server load balancing problem, where there are two kinds of vertices and only different kinds are paired with each other), each edge has a score and the number is For a situation in which the score must be maximized, the vertices are known little by little, but the edges are known little by little, even if it is not an optimal solution (it is impossible to find an optimal solution because it is impossible to find an optimal solution before seeing all the inputs) provide a way This is accomplished by selecting a so-called augmenting path to be short, and repeating the operation of subtracting the edge included in the match and inserting the edge not included along the augmenting path.

도 1은 본 발명의 일 실시예에 따른 온라인 그래프 매칭 장치를 예시한 블록도이다.1 is a block diagram illustrating an online graph matching apparatus according to an embodiment of the present invention.

온라인 그래프 매칭 장치(110)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(130) 및 통신 버스(170)를 포함한다. The online graph matching apparatus 110 includes at least one processor 120 , a computer-readable storage medium 130 , and a communication bus 170 .

프로세서(120)는 온라인 그래프 매칭 장치(110)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(120)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(120)에 의해 실행되는 경우 온라인 그래프 매칭 장치(110)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The processor 120 may control to operate as the online graph matching apparatus 110 . For example, the processor 120 may execute one or more programs stored in the computer-readable storage medium 130 . The one or more programs may include one or more computer-executable instructions, which, when executed by the processor 120 , configure the online graph matching apparatus 110 to perform operations according to the exemplary embodiment. can be

컴퓨터 판독 가능한 저장 매체(130)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보는 입출력 인터페이스(150)나 통신 인터페이스(160)를 통해서도 주어질 수 있다. 컴퓨터 판독 가능한 저장 매체(130)에 저장된 프로그램(140)은 프로세서(120)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능한 저장 매체(130)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 온라인 그래프 매칭 장치(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer-readable storage medium 130 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. Computer-executable instructions or program code, program data, and/or other suitable form of information may also be provided via input/output interface 150 or communication interface 160 . The program 140 stored in the computer-readable storage medium 130 includes a set of instructions executable by the processor 120 . In one embodiment, computer-readable storage medium 130 includes memory (volatile memory, such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other types of storage media accessed by the online graph matching apparatus 110 and capable of storing desired information, or a suitable combination thereof.

통신 버스(170)는 프로세서(120), 컴퓨터 판독 가능한 저장 매체(130)를 포함하여 온라인 그래프 매칭 장치(110)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 170 interconnects various other components of the online graph matching apparatus 110 , including the processor 120 and the computer readable storage medium 130 .

온라인 그래프 매칭 장치(110)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(150) 및 하나 이상의 통신 인터페이스(160)를 포함할 수 있다. 입출력 인터페이스(150) 및 통신 인터페이스(160)는 통신 버스(170)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(150)를 통해 온라인 그래프 매칭 장치(110)의 다른 컴포넌트들에 연결될 수 있다.The online graph matching device 110 may also include one or more input/output interfaces 150 and one or more communication interfaces 160 that provide interfaces for one or more input/output devices. The input/output interface 150 and the communication interface 160 are connected to the communication bus 170 . The input/output device (not shown) may be connected to other components of the online graph matching device 110 through the input/output interface 150 .

온라인 그래프 매칭 장치(110)는 증가 경로(augmenting path)를 제한적으로 선택하며, 기존에 짝이 지어진 정점을 새로운 정점과 짝짓고, 그 결과 짝을 잃어버린 정점을 다른 정점과 짝짓고 하는 동작을 반복하여 정점에 대한 약속을 지키면서 적절한 근사해를 찾는다. 개체가 조금씩 알려질 때마다 일어나는 재할당의 개수를 제한 설정하는 기준을 제시하고 정점에 대한 약속을 준수할 수 있다.The online graph matching device 110 selects an augmenting path limitedly, pairs previously paired vertices with new vertices, and repeats the operation of pairing lost vertices with other vertices as a result. Find a suitable approximation solution while keeping the promise of the vertices. It can provide a criterion to set a limit on the number of reallocations that occur whenever an object is known little by little, and it can keep the promise of vertices.

이분 그래프는 정점을 두개의 그룹으로 나누었을 때, 존재하는 모든 에지의 양 끝 정점이 서로 다른 그룹에 속하는 형태의 그래프를 의미한다. A bipartite graph refers to a graph in which the vertices at both ends of all existing edges belong to different groups when the vertices are divided into two groups.

이분 매칭은 이분 그래프에서 각 정점이 최대 하나의 정점과만 인접하도록 연결된 구성이다. 정점(vertex)은 노드(node) 등으로 칭할 수 있고, 에지(edge)는 간선 등으로 칭할 수 있다. Binary matching is a configuration in which each vertex is adjacent to at most one vertex in a bipartite graph. A vertex may be referred to as a node or the like, and an edge may be referred to as an edge or the like.

주어진 매칭에 포함되지 않은 에지에서 시작해 포함되지 않은 에지와 포함된 에지가 번갈아 나타나다 포함되지 않은 에지로 끝나는 경로를 증가 경로라고 한다. 증가 경로를 선택한 후, 증가 경로를 따라 기존에 포함된 에지는 제외시키고 포함되지 않은 에지를 포함시키면 기존 매칭의 에지 개수를 하나 늘릴 수 있다. 증가 경로는 BFS(Breadth First Search) 등으로 찾을 수 있다.A path that starts from an edge not included in a given match, alternates between not included and included edge, and ends with an edge not included is called an incremental path. After selecting the increment path, by excluding the previously included edges and including the not included edges along the increment path, the number of edges of the existing matching can be increased by one. The incremental path can be found by BFS (Breadth First Search) or the like.

도 2는 본 발명의 다른 실시예에 따른 온라인 그래프 매칭 방법을 예시한 흐름도이다. 온라인 그래프 매칭 방법은 온라인 그래프 매칭 장치에 의해 수행될 수 있다.2 is a flowchart illustrating an online graph matching method according to another embodiment of the present invention. The online graph matching method may be performed by an online graph matching apparatus.

단계 S20에서는 정점(vertex) 또는 에지(edge)로 정의되는 개체에 대한 정보를 수신한다. 개체는 모든 입력이 한번에 입력되지 않고 시간 스탬프에 따라 시계열로 입력된다.In step S20, information on an entity defined as a vertex or an edge is received. Objects are entered in a time series according to time stamps, rather than all inputs being entered at once.

단계 S30에서는 새로 도착한 개체를 포함하고 제한조건을 만족하는 증가 경로(augmenting path) 중에서 하나의 증가 경로를 선택한다. 하나의 증가 경로를 선택하는 단계(S30)는 가장 짧은 경로를 선택하거나 가중치에 따른 가장 이익이 되는 경로를 선택할 수 있다. 새로 도착한 개체를 포함하고 제한 조건을 만족하는 증가 경로가 존재하지 않으면 증가 경로를 선택하지 않는다.In step S30, one augmenting path is selected from among augmenting paths that include the newly arrived entity and satisfy the constraint. In the step of selecting one increasing path ( S30 ), a shortest path may be selected or a path most beneficial according to a weight may be selected. If there is no incremental path that includes the newly arrived object and satisfies the constraint, the incremental path is not selected.

단계 S40에서는 선택된 증가 경로가 있으면 증가 경로를 따라 에지를 넣고 빼는 매칭 증가를 수행하거나, 선택된 증가 경로가 없으면 매칭 증가를 수행하지 않는 매칭 단계를 수행한다.In step S40, if there is a selected incremental path, matching increment by inserting and subtracting edges along the increment path is performed, or if there is no selected increment path, a matching step of not performing matching increment is performed.

제한조건은 증가 경로의 길이가 재할당 개수에 대한 제한 예산(k)-1 보다 짧거나 동일한 것으로 정의될 수 있다. 필요에 따라 제한 예산(k)를 실제 예산보다 더 작은 것으로 간주할 수 있다.The constraint may be defined that the length of the incremental path is shorter than or equal to the constraint budget (k)-1 for the number of reallocations. If necessary, the constrained budget (k) can be considered smaller than the actual budget.

증가 경로를 선택하는 단계(S30)와 매칭 단계(S40)에서는 증가 경로를 제한적으로 선택하여 기존에 짝지어진 정점을 새로운 정점과 짝짓고, 그 결과 짝을 잃은 정점을 다른 정점과 짝짓는 동작을 반복할 수 있다.In the step of selecting the incremental path (S30) and the matching step (S40), an incremental path is limitedly selected, the previously paired vertices are paired with a new vertex, and as a result, the unpaired vertex is paired with another vertex. can do.

개체에 대한 정보를 수신하는 단계(S20) 이전에 그래프의 전체에 대한 부분 정보를 수신하는 단계(S10)를 포함할 수 있다. It may include a step (S10) of receiving partial information on the whole of the graph before the step (S20) of receiving the information on the object.

매칭 단계(S40) 이후에 더 수신할 개체가 있는지 확인하는 단계(S50)를 포함할 수 있다. 더 수신할 개체가 있으면 개체에 대한 정보를 수신하는 단계(S20)를 다시 수행한다.After the matching step (S40), it may include a step (S50) of checking whether there is an object to be further received. If there is an object to be further received, the step S20 of receiving information on the object is performed again.

증가 경로를 선택하는 단계(S30)와 매칭 단계(S40)를 통해 재할당 개수에 대한 제한 예산 k를 갖는 정점의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under vertex arrivals)에 대해서 k로 표현된

Figure pat00001
경쟁비로 해를 제공할 수 있다. 경로를 선택하는 단계(S30)에서 가중치가 적용되지 않는 온라인 그래프 매칭 문제에 대해서 최단 증가 경로를 선택할 수 있다.For the maximum-cardinality online matching problem under vertex arrivals according to the reception of vertices having a limited budget k for the number of reallocations through the step S30 and the matching step S40 of selecting an incremental path expressed as k
Figure pat00001
Competitive costs can provide harm. In the step of selecting a path ( S30 ), the shortest increasing path may be selected for the online graph matching problem to which no weight is applied.

증가 경로를 선택하는 단계(S30)와 매칭 단계(S40)를 통해 재할당 개수에 대한 제한 예산 k를 갖는 에지의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under edge arrivals)에 대해서 k로 표현된

Figure pat00002
경쟁비로 해를 제공할 수 있다. 경로를 선택하는 단계(S30)에서 가중치가 적용되지 않는 온라인 그래프 매칭 문제에 대해서 최단 증가 경로를 선택할 수 있다.For the maximum-cardinality online matching problem under edge arrivals according to the reception of an edge having a limited budget k for the number of reallocations through the step S30 and the matching step S40 of selecting an incremental path expressed as k
Figure pat00002
Competitive costs can provide harm. In the step of selecting a path ( S30 ), the shortest increasing path may be selected for the online graph matching problem to which no weight is applied.

증가 경로를 선택하는 단계(S30)와 매칭 단계(S40)를 통해 재할당 개수에 대한 제한 예산을 갖는 정점의 수신에 따른 최대 가중치 온라인 이분 왼쪽 완벽 매칭 문제(maximum-weight online bipartite left-perfect matching problem under vertex arrivals)에 대해서 특정 경쟁비로 해를 제공할 수 있다. 예컨대, 특정 경쟁비는 1/2-경쟁비를 의미할 수 있다. 경로를 선택하는 단계(S30)에서 가중치가 적용된 온라인 그래프 매칭 문제에 대해서 가장 이익이 되는 경로를 선택할 수 있다. 매칭 단계(S40)에서 제한 조건의 k가 4를 초과할 때에도 k를 4로 간주할 수도 있다.Maximum-weight online bipartite left-perfect matching problem according to the reception of vertices having a limited budget for the number of reallocations through the step S30 and the matching step S40 of selecting an incremental path under vertex arrivals) can provide a solution at a certain competitive rate. For example, the specific competition ratio may mean 1/2-competition ratio. In the step of selecting a path ( S30 ), it is possible to select a path that is most profitable for the weighted online graph matching problem. Even when k of the constraint condition exceeds 4 in the matching step ( S40 ), k may be regarded as 4 .

온라인 그래프 매칭 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The online graph matching apparatus may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, or may be implemented using a general-purpose or special-purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. In addition, the device may be implemented as a system on chip (SoC) including one or more processors and controllers.

온라인 그래프 매칭 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The online graph matching apparatus may be mounted in the form of software, hardware, or a combination thereof on a computing device or server provided with hardware elements. A computing device or server is all or part of a communication device such as a communication modem for performing communication with various devices or a wired/wireless communication network, a memory for storing data for executing a program, and a microprocessor for executing operations and commands by executing the program It can mean a variety of devices, including

도 2에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.Although it is described that each process is sequentially executed in FIG. 2, this is only illustratively described, and those skilled in the art change the order described in FIG. 2 without departing from the essential characteristics of the embodiment of the present invention. Alternatively, various modifications and variations may be applied by executing one or more processes in parallel or adding other processes.

본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.The operations according to the present embodiments may be implemented in the form of program instructions that can be performed through various computer means and recorded in a computer-readable medium. Computer-readable medium represents any medium that participates in providing instructions to a processor for execution. Computer-readable media may include program instructions, data files, data structures, or a combination thereof. For example, there may be a magnetic medium, an optical recording medium, a memory, and the like. A computer program may be distributed over a networked computer system so that computer readable code is stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing the present embodiment may be easily inferred by programmers in the technical field to which the present embodiment pertains.

본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The present embodiments are for explaining the technical idea of the present embodiment, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The protection scope of this embodiment should be interpreted by the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present embodiment.

Claims (5)

온라인 그래프 매칭 장치에 의한 온라인 그래프 매칭 방법에 있어서,
정점(vertex) 또는 에지(edge)로 정의되는 개체에 대한 정보를 수신하는 단계;
상기 수신된 개체를 포함하고 제한조건을 만족하는 증가 경로(augmenting path) 중에서 하나의 증가 경로를 선택하는 단계; 및
상기 선택된 증가 경로가 있으면 상기 증가 경로를 따라 에지를 넣고 빼는 매칭 증가를 수행하거나, 상기 선택된 증가 경로가 없으면 매칭 증가를 수행하지 않는 매칭 단계를 포함하는 온라인 그래프 매칭 방법.
In the online graph matching method by the online graph matching device,
Receiving information on an object defined as a vertex or an edge;
selecting one augmenting path from among augmenting paths that include the received entity and satisfy a constraint; and
and a matching step of performing matching increment by inserting and subtracting edges along the increment path if there is the selected increment path, or not performing matching increment if there is no selected increment path.
제1항에 있어서,
상기 제한조건은 상기 증가 경로의 길이가 재할당 개수에 대한 제한 예산(k)-1 보다 짧거나 동일한 것으로 정의되는 것을 특징으로 하는 온라인 그래프 매칭 방법.
According to claim 1,
The online graph matching method, characterized in that the constraint is defined as that the length of the increasing path is shorter than or equal to the limit budget (k)-1 for the number of reallocations.
제2항에 있어서,
상기 제한 예산은 실제 예산보다 더 작은 것으로 간주되는 것을 특징으로 하는 온라인 그래프 매칭 방법.
3. The method of claim 2,
and the limited budget is considered to be smaller than the actual budget.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 하나의 증가 경로를 선택하는 단계는 가장 짧은 경로를 선택하거나 가중치에 따른 가장 이익이 되는 증가 경로를 선택하는 것을 특징으로 하는 온라인 그래프 매칭 방법.
4. The method according to any one of claims 1 to 3,
The step of selecting one increasing path is an online graph matching method, characterized in that selecting the shortest path or selecting the most profitable increasing path according to a weight.
제1항 내지 제4항 중 어느 한 항에 있어서,
(i) 재할당 개수에 대한 제한 예산 k를 갖는 상기 정점의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under vertex arrivals)에 대해서 상기 k로 표현된 경쟁비로 해를 제공하거나,
(ii) 재할당 개수에 대한 제한 예산 k를 갖는 상기 에지의 수신에 따른 최대 카디널리티 온라인 매칭 문제(maximum-cardinality online matching problem under edge arrivals)에 대해서 상기 k로 표현된 경쟁비로 해를 제공하거나,
(iii) 재할당 개수에 대한 제한 예산을 갖는 상기 정점의 수신에 따른 최대 가중치 온라인 이분 왼쪽 완벽 매칭 문제(maximum-weight online bipartite left-perfect matching problem under vertex arrivals)에 대해서 특정 경쟁비로 해를 제공하는 것을 특징으로 하는 온라인 그래프 매칭 방법.
5. The method according to any one of claims 1 to 4,
(i) provide a solution with the competition ratio expressed by k for the maximum-cardinality online matching problem under vertex arrivals according to the reception of the vertices having a limited budget k for the number of reallocations, or
(ii) provide a solution with the competition ratio expressed by k for the maximum-cardinality online matching problem under edge arrivals according to the reception of the edge having a limited budget k for the number of reallocations, or
(iii) to provide a solution with a specific competition ratio to the maximum-weight online bipartite left-perfect matching problem under vertex arrivals according to the reception of the vertices with a limited budget for the number of reallocations Online graph matching method, characterized in that.
KR1020210030799A 2021-03-09 2021-03-09 Online graph matching methods with worst-case reassignment budgets KR102574886B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210030799A KR102574886B1 (en) 2021-03-09 2021-03-09 Online graph matching methods with worst-case reassignment budgets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210030799A KR102574886B1 (en) 2021-03-09 2021-03-09 Online graph matching methods with worst-case reassignment budgets

Publications (2)

Publication Number Publication Date
KR20220126475A true KR20220126475A (en) 2022-09-16
KR102574886B1 KR102574886B1 (en) 2023-09-04

Family

ID=83445239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210030799A KR102574886B1 (en) 2021-03-09 2021-03-09 Online graph matching methods with worst-case reassignment budgets

Country Status (1)

Country Link
KR (1) KR102574886B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747854B1 (en) 2016-10-25 2017-06-15 한국과학기술정보연구원 Method and apparatus for matching graph

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747854B1 (en) 2016-10-25 2017-06-15 한국과학기술정보연구원 Method and apparatus for matching graph

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zvi Galil, "Efficient Algorithms for Finding Maximum Matching in Graphs"(1986.3.) 1부.* *

Also Published As

Publication number Publication date
KR102574886B1 (en) 2023-09-04

Similar Documents

Publication Publication Date Title
US10552161B2 (en) Cluster graphical processing unit (GPU) resource sharing efficiency by directed acyclic graph (DAG) generation
CN100487659C (en) Method and device for optimizing fractional resource allocation
US10331669B2 (en) Fast query processing in columnar databases with GPUs
US20160191407A1 (en) Selecting computing resources
CN111045932A (en) Business system simulation processing method and device, electronic equipment and storage medium
US10521381B2 (en) Self-moderating bus arbitration architecture
US10942772B2 (en) Dispatching jobs for execution in parallel by multiple processors
CN110389817B (en) Scheduling method, device and computer readable medium of multi-cloud system
US11573823B2 (en) Parallel execution of applications
WO2023056793A1 (en) Optimizing a just-in-time compilation process
KR20220126475A (en) Online graph matching methods with worst-case reassignment budgets
US20190087451A1 (en) Database identifier generation in transaction processing systems
US11651235B2 (en) Generating a candidate set of entities from a training set
US20170161025A1 (en) Stateful development control
US9607062B1 (en) Data locality in data integration applications
US10360137B2 (en) Adaptive testing using dynamically determined system resources of a computer system
CN110727400A (en) Flow control method, apparatus, device and medium for distributed storage system
CN114860350B (en) Data processing method and device based on cloud diskless tree-like mirror image
US11687449B2 (en) Concurrent marking garbage collection
KR102374595B1 (en) Vehicle routing method and device using noising scheme
US11855908B2 (en) Resource allocation in cloud computing systems
CN114063879B (en) Method for processing operation command, electronic device and storage medium
US11620132B2 (en) Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction
US20230068120A1 (en) Vector processing of decision trees to form inferences
US11327793B2 (en) Garbage collection work stealing mechanism

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