Learning to Solve Combinatorial Optimization Problems on Real-World Graphs in Linear Time
Section II
Slides by: Giovanni Rivera
The paper can be found here: https://arxiv.org/pdf/2006.03750.pdf
2. Unified Framework
Defining the problem space
Suppose we have a weighted graph, G, defined as:
Where,
V = {v , v , …, v } represents vertices (nodes)� E = {ei,j | i, j ∈ V} represents edges� W = {wi,j | i, j ∈ V} represents the weights of� the edges
N(i) = {vj | ei,j ∈ E} represents the neighbors of� v (node i)
1
2
i
n
Defining the problem space (cont’d)
G’s edge-to-vertex dual (line graph) is defined as:
Where,
V* = {(i, j) | ei,j ∈ V} represents edges�E* = {vi | i ∈ V} represents nodes�W* = {wi,j | i, j ∈ V} represents the weights� of the nodes
Defining problems over graphs
Defining problems over graphs
Graph Generation
Learning Graph Algorithms as Single Player Games
The paper uses a search tree to represent the reinforcement learning approach.
The root represents an initial (random) state.
The leaves represent the possible solutions based on each state-action pair, following a neural network.
Reaching a leaf represents obtaining a reward (or cost) from an action.
Learning Graph Algorithms (cont’d)
“When the predictions of our neural network capture the global structure of the problem, this mechanism is very efficient.
On the other hand, even if the network makes poor predictions for a particular problem, the search will still find the solution if run for a sufficiently long (possibly exponential) time.
The network is re-trained using the results of the evaluation oracle on the leaf nodes reached by the search to improve its predictions”