In intelligent tutoring systems, it is important for the system to understand how difficult a problem is for the student. However, it is an open question how to automatically assess such difficulty. The aim of our research is to find formalized measures of difficulty that could be used in automated assessment of the difficulty of a mental task for a human. We present a computational approach to estimating the difficulty of problems in which the difficulty arises from the combinatorial complexity of problems where a search among alternatives is required. Our approach is based on a computer heuristic search for building search trees that are “meaningful” from a human's point of view. We demonstrate that by analyzing properties of such trees, the program is capable to predict how difficult it would be for a human to solve the problem. In the experiments with chess tactical problems our program was able to differentiate between easy and difficult problems with a high level of accuracy.