Reformulating Constraints for Compilability and Efficiency
暂无分享,去创建一个
KBSDE is a knowledge compiler that uses a classification-based approach to map solution constraints in a task specification onto particular search algorithm components that will be responsible for satisfying those constraints (e.g., local constraints are incorporated in generators; global constraints are incorporated in either testers or hillclimbing patchers). Associated with each type of search algorithm component is a subcompiler that specializes in mapping constraints into components of that type. Each of these subcompilers in turn uses a classification-based approach, matching a constraint passed to it against one of several schemas, and applying a compilation technique associated with that schema. While much progress has occurred in our research since we first laid out our classification-based approach [Ton91], we focus in this paper on our reformulation research. Two important reformulation issues that arise out of the choice of a schema-based approach are: (1) compilability-- Can a constraint that does not directly match any of a particular subcompiler's schemas be reformulated into one that does? and (2) Efficiency-- If the efficiency of the compiled search algorithm depends on the compiler's performance, and the compiler's performance depends on the form in which the constraint was expressed, can we find forms for constraints which compile better, or reformulate constraints whose forms can be recognized as ones that compile poorly? In this paper, we describe a set of techniques we are developing for partially addressing these issues.
[1] Douglas R. Smith. Derived Preconditions and Their Use in Program Synthesis , 1982, CADE.
[2] Randall Davis,et al. Overview of an Approach to Representation Design , 1988, AAAI.
[3] Kerstin Voigt,et al. Automating the Construction of Patchers That Satisfy Global Constraints , 1989, IJCAI.
[4] Chris Tong,et al. Automated Synthesis of Constrained Generators , 1989, IJCAI.