General Problem Solving Strategies