Analogy-making is an essential part of human intelligence and creativity. This paper proposes an algebraic model of analogical reasoning in logic programming based on the syntactic composition and decomposition of programs. The main idea is to define analogy in terms of modularity and to derive abstract forms of concrete programs from a `known' source domain which can then be instantiated in an `unknown' target domain to obtain analogous programs. To this end, we introduce algebraic operations for program modularity and illustrate, by giving numerous examples, that programs have nice decompositions. Interestingly, our work suggests a close relationship between modularity, generalization, and analogy which we believe should be explored further in the future. In a broader sense, this paper is a first step towards an algebraic (and mainly syntactic) theory of analogical reasoning in logic-based knowledge representation and reasoning systems, with potential applications to fundamental AI-problems like computational learning and creativity.
翻译:解析是人类智慧和创造力的一个基本部分。 本文基于程序的组合构成和分解,提出了逻辑编程中模拟推理的代数模型。 主要的想法是界定模块性类比,并从“已知”源域中提取具体程序的抽象形式,然后在“ 未知”目标域中进行同步,以获得类似的程序。 为此,我们引入了程序模块化的代数操作,并通过提供许多实例说明程序具有良好的分解性。 有趣的是,我们的工作表明模块性、一般化和类比之间的密切关系,我们认为今后应该进一步探讨这些关系。 从更广泛的意义上讲,本文是朝着基于逻辑的知识表述和推理系统中的模拟推理理论(主要是合成)迈出的第一步,这些理论可能适用于基本的人工智能问题,例如计算学习和创造性。