Question
In a backtracking algorithm, what happens when a partial
solution is found to violate a constraint?Solution
The core idea of backtracking is to explore a path, and if that path leads to a dead end (violates a constraint or cannot lead to a solution), the algorithm "backtracks" by undoing the last decision and trying an alternative. This pruning of the search space is what makes backtracking efficient compared to brute-force enumeration.
рдЬрдм рд╡рд╛рдХреНрдп рд▓рд┐рдЦрддреЗ рд╕рдордп рдХреЛрдИ рдРрд╕рд╛ рдкрдж рдЬреЛ рдЙрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ рдЖрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ,...
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдердиреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХреАрдЬрд┐рдП:
1. рд╡рд░реНрд╖ 1965 рдореЗрдВ рд╢рд┐рдХреНрд╖рд╛ рдордВя┐╜...
рдХрд░реНрддреГрд╡рд╛рдЪреНрдп рдХрд┐рд╕реЗ рдХрд╣рддреЗ рд╣реИ┬а
рдЬрд┐рд╕ рд╕рдорд╛рд╕ рдореЗрдВ рдкреВрд░реНрд╡-рдкрдж рдЧреМрдг рддрдерд╛ рдЙрддреНрддрд░-рдкрдж рдкреНрд░рдзрд╛рди рд╣реЛ , рдЙрд╕реЗ рдХреМрди рд╕я┐╜...
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рдореЗрдВ , рдЪрд╛рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ , рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХрд╛ я┐╜...
рдЗрдирдореЗрдВ рд╕реЗ рдЕрдШреЛрд╖ рд╡рд░реНрдг рд╣реИ :
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рд╕реЗ рд╕рд░рд▓ рд╡рд╛рдХреНрдп рдХрд╛ рдЪрдпрди рдХреАрдЬрд┐рдП-
рдЖрдБрдЦреЗрдВ рдЪреБрд░рд╛рдирд╛ рдЗрд╕ рдореБрд╣рд╛рд╡рд░реЗ рдХрд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ?
'рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рднрд╛рдИ рдХреЛ рдкрдврд╝рд╛рдпрд╛ рдЧрдпрд╛ред рдЗрд╕ рд╡рд╛рдХреНрдп рдореЗрдВ рд╡рд╛рдЪреНрдп рдХрд╛ я┐╜...
рд╕реВрдЪреА тАУ I рдХреЛ рд╕реВрдЪреА тАУ II рд╕реЗ рд╕реБрдореЗрд▓рд┐рдд рдХреАрдЬрд┐рдП рдФрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдиреАрдЪреЗ рджрд┐рдП я┐╜...