fig sierpinski curves backtracking algorithms particularly intriguing programming endeavor is the subject of so-called general problem solving the task is to determine algorithms for finding solutions to specific problems not by following fixed rule of computationbut by trial and error the common pattern is to decompose the trial-and-error process onto partial tasks often these tasks are most naturally expressed in recursive terms and consist of the exploration of finite number of subtasks we may generally view the entire process as trial or search process that gradually builds up and scans (prunesa tree of subtasks in many problems this search tree grows very rapidlyoften exponentiallydepending on given parameter the search effort increases accordingly frequentlythe search tree can be pruned by the use of heuristics onlythereby reducing computation to tolerable bounds it is not our aim to discuss general heuristic rules in this text ratherthe general principle of breaking up such problem-solving tasks into subtasks and the application of recursion is to be the subject of this we start out by demonstrating the underlying technique by using an examplenamelythe well known knight' tour given is board with fields knight -being allowed to move according to the rules of chess -is placed on the field with initial coordinates the problem is to find covering of the entire boardif there exists onei to compute tour of - moves such that every field of the board is visited exactly once