Graph Homomorphisms: Topology, Probability, And Statistical Physics