Discrete Inference