论文标题
哪种编程语言最佳套件综合AGI?
What Kind of Programming Language Best Suits Integrative AGI?
论文作者
论文摘要
什么样的编程语言最适合满足综合,多范式的多范围,多软件系统的AGI方法?通过探索如何创建“原子”编程语言的更具可扩展性和可用版本的更具体的问题来提出这个问题,该问题构成了Opencog Agi Design的关键组成部分(“ Atomese 2.0”)。暂时提出的是,Atomese 2.0的核心应该是重写用于重写Metagraph的规则的非常灵活的框架(其中规则本身在同一群体中表示,并且在规则解干过程中创建和使用的某些中间数据可以在同一METAGR中表示)。该框架应根据标记有各种不确定性定量的规则来支持同时重写Metagraph,并标有与各种类型系统相关的各种类型的标签。应使用一种逐渐的分型方法来启用与各种类型系统相关的规则和其他Metagraph节点/链接的混合,以及与任何类型系统无关的未型Metagraph节点/链接。这必须以允许合理的效率和可伸缩性的方式来完成,包括在并发和分布式处理环境中,如果大部分的处理时间被占用,则可以评估对大型群体的特定子图的静态图案匹配的查询(包括相对于NODES的各种查询,例如代表NODES与NODES相匹配的变量和匹配项等,等等,等等,等等,等等,等等。
What kind of programming language would be most appropriate to serve the needs of integrative, multi-paradigm, multi-software-system approaches to AGI? This question is broached via exploring the more particular question of how to create a more scalable and usable version of the "Atomese" programming language that forms a key component of the OpenCog AGI design (an "Atomese 2.0") . It is tentatively proposed that the core of Atomese 2.0 should be a very flexible framework of rewriting rules for rewriting a metagraph (where the rules themselves are represented within the same metagraph, and some of the intermediate data created and used during the rule-interpretation process may be represented in the same metagraph). This framework should support concurrent rewriting of the metagraph according to rules that are labeled with various sorts of uncertainty-quantifications, and that are labeled with various sorts of types associated with various type systems. A gradual typing approach should be used to enable mixture of rules and other metagraph nodes/links associated with various type systems, and untyped metagraph nodes/links not associated with any type system. This must be done in a way that allows reasonable efficiency and scalability, including in concurrent and distributed processing contexts, in the case where a large percentage of of processing time is occupied with evaluating static pattern-matching queries on specific subgraphs of a large metagraph (including a rich variety of queries such as matches against nodes representing variables, and matches against whole subgraphs, etc.).