Randomized Parallel Algorithms for Prolog Programs and Backtracking Applications