代理编程语言的结构扩展与语义解析
1. 核心概念与语义
在代理编程中,有两个重要的语义概念:操作语义和指称语义。操作语义从可能的代理系统演化角度,对代理程序进行明确的问题子空间刻画;而指称语义则通过指定所有考虑的心理状态集合以及它们之间允许的转换,对同一问题空间进行规范。这两种语义本质上都能对同一系统进行形式化,只是反映了对其规范的不同视角。操作语义展示了现有代理程序的解释方式,指称语义则为分析、创建和组织此类程序提供了更多的方法学见解。
设 $\sigma, \sigma’ \subseteq L$ 为心理状态,$\psi \in L_U$ 为更新公式。$F_P(\sigma, \psi) = \sigma’$ 当且仅当 $\exists(\varphi \to \psi) \in P$,使得 $\sigma \to \sigma’$ 是由该规则诱导的转换。我们称 $P$ 由 $F_P$ 刻画,$F_P$ 定义的状态集合 $\Sigma_{F_P}$ 为 $F_P$ 的应用域。$F_P$ 是一个部分函数,仅对那些可以应用程序 $P$ 中某些规则的心理状态进行定义,即满足程序 $P$ 中某些规则的查询公式的状态。它完全刻画了由 $P$ 描述的代理系统。
2. 具体语法与解释器
为了完整定义核心编程系统,我们给出了具体的语法和解释器算法。核心语言的扩展巴科斯 - 诺尔范式(EBNF)如下(省略了空格和字符串定义):
<program> := <rules>
<rules> := <rule> | <rule> &
超级会员免费看
订阅专栏 解锁全文
3780

被折叠的 条评论
为什么被折叠?



