Backtracking is an algorithmic technique. It us used to find solutions by trying one of several choices. If the choice proves incorrect, computation backtracks or restarts at the point of choice and tries another choice. It is often convenient to maintain choice points and alternate choices using recursion. Backtracking is often done AI algorithms. It can greatly increase the speed of a search by avoided costly unproductive sub searches.