Machine optimization devices, methods, and systems
First Claim
1. A non-transitory computer-readable medium having software instructions stored thereon for matching items with other items comprising:
- receiving a first graph data structure having nodes representing items, a first weight matrix having weight values each associated with an edge in the first graph data structure connecting two items, and degree distribution data having degree distribution data for each node in the first graph data structure;
generating a second graph data structure including nodes representing the first graph data structure and a plurality of dummy nodes;
generating a second weight matrix including values representing the first weigh matrix and having additional values associated with the plurality of dummy nodes, the additional values being determined based on the degree distribution data;
determining a constraint value for the nodes of the second graph data structure that represent the nodes of the first graph data structure;
performing a maximum weight b-matching operation on the second graph data structure and the second weight matrix to produce a result matrix wherein b is greater than 1; and
extracting a portion of the result matrix that corresponds to the nodes of the first graph data structure and providing that portion as output.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, system, computer program product and computer readable media for matching using degree distribution information are disclosed. An embodiment of the method can include performing b-matching on a graph data structure expanded using degree distribution information in order to identify neighbors of a selected input node. The b-matching can be performed using belief propagation. The belief propagation method is adapted to use a compressed message update rule and to be suitable for use with distributed processing systems. An embodiment can also include enhancing a matching result by applying degree distribution information to a first matching result to generate a second matching result. Embodiments for online advertisement/search term matching, product recommendation, dating service and social network matching, auction buyer/seller matching and resource allocation, among other, are disclosed.
68 Citations
20 Claims
-
1. A non-transitory computer-readable medium having software instructions stored thereon for matching items with other items comprising:
-
receiving a first graph data structure having nodes representing items, a first weight matrix having weight values each associated with an edge in the first graph data structure connecting two items, and degree distribution data having degree distribution data for each node in the first graph data structure; generating a second graph data structure including nodes representing the first graph data structure and a plurality of dummy nodes; generating a second weight matrix including values representing the first weigh matrix and having additional values associated with the plurality of dummy nodes, the additional values being determined based on the degree distribution data; determining a constraint value for the nodes of the second graph data structure that represent the nodes of the first graph data structure; performing a maximum weight b-matching operation on the second graph data structure and the second weight matrix to produce a result matrix wherein b is greater than 1; and extracting a portion of the result matrix that corresponds to the nodes of the first graph data structure and providing that portion as output. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computerized method for matching items with other items, the method comprising:
-
receiving, by one or more processors, a first graph data structure having nodes representing items, a first weight matrix having weight values each associated with an edge in the first graph data structure connecting two items, and degree distribution data having degree distribution data for each node in the first graph data structure; generating, by the one or more processors, a second graph data structure including nodes representing the first graph data structure and a plurality of dummy nodes; generating, by the one or more processors, a second weight matrix including values representing the first weigh matrix and having additional values associated with the plurality of dummy nodes, the additional values being determined based on the degree distribution data; determining, by the one or more processors, a constraint value for the nodes of the second graph data structure that represent the nodes of the first graph data structure; performing, by the one or more processors, a maximum weight b-matching operation on the second graph data structure and the second weight matrix to produce a result matrix wherein b is greater than 1; and extracting, by the one or more processors, a portion of the result matrix that corresponds to the nodes of the first graph data structure and providing that portion as output. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system for matching items with other items comprising:
-
a storage configured to store software instructions for performing a method of matching items with other items using degree distribution, a first graph data structure having nodes representing items, a first weight matrix having weight values each associated with an edge in the first graph data structure connecting two items, and degree distribution data having degree distribution data for each node in the first graph data structure; a hardware processor coupled to the storage and configured to execute the software instructions and perform operations including; generating a second graph data structure including nodes representing the first graph data structure and a plurality of dummy nodes; generating a second weight matrix including values representing the first weigh matrix and having additional values associated with the plurality of dummy nodes, the additional values being determined based on the degree distribution data; determining a constraint value for the nodes of the second graph data structure that represent the nodes of the first graph data structure; performing a maximum weight b-matching operation on the second graph data structure and the second weight matrix to produce a result matrix wherein b is greater than 1; extracting a portion of the result matrix that corresponds to the nodes of the first graph data structure and providing that portion as output. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification