Learning concepts by performing experiments
Claude Sammut · 2022
Marvin is a program which is capable of learning concepts from many different environments. It achieves this by using a flexible description language based on first order predicate logic with quantifiers. Once a concept has been learnt, Marvin treats the concept description as a program which can be executed to produce an output. Thus the learning system can also be viewed as an automatic program synthesizer. The ability to treat a concept as a program permits the learning system to construct objects to show a human trainer. Given an initial example by the trainer, Marvin creates a concept intended to describe the class of objects containing the example. The validity of the description is tested when Marvin constructs an instance of the concept to show the trainer. If he indicates that the example constructed by the program belongs to the concept which is to be learnt, called the 'target', then Marvin attempts to generalize the description of its hypothesized concept. If the example does not belong to the target then the description must be made more specific so that a correct example can be constructed. This process is repeated until the description of