Constraint Satisfaction and Graph Theory