% !TEX root = ../main.tex

The goal of causal discovery is to learn a directed acyclic graph from data. 
One of the most well-known methods for this problem is Greedy Equivalence
Search (GES). 
GES searches for the graph by incrementally and greedily adding or removing edges
to maximize a model selection criterion. 
It has strong theoretical guarantees on infinite data but can fail in practice on
finite data. 
In this paper, we first identify some of the causes of GES's failure, finding that it 
can get blocked in local optima, especially in denser graphs. 
We then propose eXtremely Greedy Equivalent Search (XGES), which involves a new
heuristic to improve the search strategy of GES while retaining its theoretical
guarantees. 
In particular, XGES favors deleting edges early in the search over inserting
edges, which reduces the possibility of the search ending in local optima. 
A further contribution of this work is an efficient algorithmic
formulation of XGES (and GES). 
We benchmark XGES on simulated datasets with known ground truth. 
We find that XGES consistently outperforms GES in recovering the correct graphs, and 
it is 10 times faster.
