Graph-based backjumping vs Conflict-based backjumping in CSP
I have been studying techniques to find solutions in backtracking to model and solve a problem in c++ with this methods and I have the following questions:
- In which cases is it optimal to use Graph-based backjumping (GBJ)?
- In which cases is it optimal to use Conflict-based backjumping (CBJ)?
- If I use fordward checking(FC) + GBJ in which cases is it more optimal than fordward checking + GBJ ?
- Which of the two methods (GBJ, CBJ) generates a smaller search tree?
- What conditions must the constraint graph have in order for GBJ and CBJ to be sub-optimal (similar to backtracking)?
I've been looking at artificial intelligence a modern approach 2nd edition book, but it didn't help me much. I would appreciate it if you could help me to clarify these doubts