title: AC-3 algorithm and backtracking
body: <p>I have solved a CSP problem using the following approach:</p>
  
  <ol>
  <li>Run AC3 to reduce variable domains</li>
  <li>Use simple backtracking to find solutions.</li>
  </ol>
  
  <p>It works really well and fast for all my testcases, but a friend of mine asked me this: "What if the initial AC-3 doesn't reduce anything?" and is implying that I shall run AC-3 at every step of the backtracking.</p>
  
  <p>I have a feeling that it wouldn't help me much in such case, but somewhere I've seen that the AC-3 can be used both ways, but with no further explanation. Can I get some more info about this?</p>
  
  <p>PS: Actually it isn't bearable in my case to run AC-3 everytime because it runs about 2 seconds long. But I am asking this question out of curiosity and it can be useful when I will solve some other problems.  </p>