  Finding a directed acyclic graph (DAG) that best encodes the conditional
independence statements observable from data is a central question within
causality. Algorithms that greedily transform one candidate DAG into another
given a fixed set of moves have been particularly successful, for example the
GES, GIES, and MMHC algorithms. In 2010, Studen\'y, Hemmecke and Lindner
introduced the characteristic imset polytope, $\textrm{CIM}_p$, whose vertices
correspond to Markov equivalence classes, as a way of transforming causal
discovery into a linear optimization problem. We show that the moves of the
aforementioned algorithms are included within classes of edges of
$\textrm{CIM}_p$ and that restrictions placed on the skeleton of the candidate
DAGs correspond to faces of $\textrm{CIM}_p$. Thus, we observe that GES, GIES,
and MMHC all have geometric realizations as greedy edge-walks along
$\textrm{CIM}_p$. Furthermore, the identified edges of $\textrm{CIM}_p$
strictly generalize the moves of these algorithms. Exploiting this
generalization, we introduce a greedy simplex-type algorithm called greedy CIM,
and a hybrid variant, skeletal greedy CIM, that outperforms current competitors
among hybrid and constraint-based algorithms.
