A Minesweeper Solver Using Logic Inference, CSP and Sampling