Conceptualization of Procedural Knowledge

Consider the following scenario. A newbie photohrapher tries to set a timer on his camera, but he does not know how. Luckly he knows a tech-savvy friend, however even she was not able to help him over the phone. They had to meed first, so that she found the function by herself and then explained it to him. Why do we observe such behaviour? Why did his friend find this functionality, while he could not? And why could not she simply explain how to set this function, but had to look for it first by herself.

It is evident that his girlfriend contains good general heuristics knowledge about photography, since she was able to operate this camera. She is probably capable of operating any camera. However, her knowledge is not explicit, it is hidden in her mind. In our research work we are trying to conceptualize knowledge for solving such problems. In other words, we would like to conceptualize procedural knowledge of a problem solver that can be written as a set of instructions. A good conceptualization of the above problem would be a set of instructions enabling any person to find the timer functionality on an arbitrary camera. You might say that this is impossible, and it probably is, however in some simpler domains such conceptualization can be done.

We developed and implemented a method for conceptualization of procedural knowledge in terms of learning hierarchical strategies, where each strategy is a sequence of subgoals. Our experiments show promising results in simple domains, e.g. solving equations, game playing such as 8-puzzle game or chess and prolog programming. See references for detailed descriptions of these experiments.

References

Možina Martin, Guid Matej, Sadikov Aleksander, Groznik Vida and Bratko Ivan. Goal-Oriented Conceptualization of Procedural Knowledge. ITS 2012, Chania, Greece, June 14-18, 2012. Intelligent Tutoring Systems. Lecture Notes in Computer Science, Vol. 7315, pp. 286-291, 2012. Springer. Download

Možina Martin, Timotej Lazar and Bratko Ivan. Learning goal-oriented strategies in problem solving. Technical Report, University of Ljubljana, 2015. Download

Software

Goal-oriented learning module is implemented as an external module of the Orange data mining suite. You can find the module at Github. The C++ part of it needs to be compiled first (follow instructions for compiling Orange), while all the necessary python modules and examples are in the /python directory. The examples implement all experiments from the "Learning goal-oriented strategies in problem solving" paper, which should be enough to help you start implementing and learning strategies in your own domain.