Use divide and conquer to build up islands from matching pairs. The GUI will list the matches, lowest error first. The user will be able to click on a pair to merge it into a single piece.
In the background, the CPU will be continually trying random configurations and hill climbing on each pair. The ranks will be updated when a better configuration is found for a pair.
Eventually, the user will have accepted n-1 pairs and the puzzle will be solved.
Use divide and conquer to build up islands from matching pairs. The GUI will list the matches, lowest error first. The user will be able to click on a pair to merge it into a single piece.
In the background, the CPU will be continually trying random configurations and hill climbing on each pair. The ranks will be updated when a better configuration is found for a pair.
Eventually, the user will have accepted n-1 pairs and the puzzle will be solved.