Graphs, Constraints, and Search for the Abstraction and Reasoning Corpus