It is desirable to automatically learn the effects of actions in an unknown environment. Using situation calculus in a causal domain is a very natural way of recording the actions and their effects. These could later be used for Automatic Programming purposes. A brute force approach to representing the situations involves recording the value of all the available variables. This is a combinatorial problem, and becomes unmanageable when the number of variables, or their domains, gets too large. A solution is to represent the situations and the transitions among the situations using first order logic formulas, which allows for generalizations and removal of irrelevant variables. But this usually requires a domain expert to act as a programmer. In this paper we look at the problem of automatic learning of causal and association rules in a situation calculus domain from observations, with little help from a domain expert. We feed C4.5 with temporal data generated in an Artificial Life environment where the results of taking an action are not known to the creatures living in it. We show that C4.5 can discover causal rules, and has a good ability to prune irrelevant variables. We have modified C4.5 to generate Prolog rules as output, and show how the automatically learned rules can be used to make plan generators. The presented approach succeeds in generating plans in deterministic environments and needs less domain dependent preprocessing than techniques like Reinforcement Learning or Genetic Programming.
展开▼