Imitation: An Alternative to Generalization in Programming by Demonstration Systems

Amir Michail · 1998

In this paper, we propose a new mechanism, imitation, which can be used in a programming by demonstration system as an alternative to generalization. A system using imitation always asks the user for help when a new case arises in an algorithm. At this point, the user may demonstrate the steps for this case or tell the system: (1) that this case is similar to another one already demonstrated and (2) in what way it is similar. In this way, the user can use imitation to generate code for the new case based on the one already demonstrated. Generalization is not required at any point while programming using this technique. We demonstrate our imitation method using Opsis, a system we built to teach binary search tree algorithms. 1 Introduction Existing programming by demonstration systems involve generalization in one form or another. For example, consider demonstrating an algorithm with several cases that are similar in some ways. By using generalization, we can abstract out the similarit...

Read the paper · More papers on PaperTik