简介
编辑生产系统(或生产规则系统)是一个通常用于提供某种形式的人工智能的计算机程序,它主要由一套关于行为的规则组成,但它也包括在系统对世界状态做出反应时遵循这些规则所必需的机制。
这些规则被称为"生产",是在自动计划、专家系统和行动选择中发现的一种基本表现。
生产由两部分组成:一个感觉的前提条件(或IF语句)和一个行动(或THEN)。
如果一个产品的前提条件与世界的当前状态相匹配,那么这个产品就被称为被触发了。
如果一个生产的行动被执行了,它就被说成是发射了。一个生产系统还包含一个数据库,有时被称为工作存储器,它保持着关于当前状态或知识的数据,以及一个规则解释器。
规则解释器必须提供一种机制,当有多个生产被触发时,对其进行优先排序。
基本操作
编辑规则解释器通常执行一种前向链式算法,选择要执行的制作来满足当前的目标,这可能包括更新系统的数据或信念。每条规则的条件部分(左手边或LHS)根据工作存储器的当前状态进行测试。
在理想化的或面向数据的生产系统中,有一个假设是任何被触发的条件都应该被执行:随之而来的行动(右侧或RHS)将更新代理的知识,删除或添加数据到工作存储器中。
当用户中断前向链式循环时,当执行了一定数量的循环时,当执行了停止的RHS时,或者当没有规则的LHS为真时,系统会停止处理。相比之下,实时系统和专家系统经常要在相互排斥的产物之间做出选择----因为行动需要时间,只能采取一种行动,或者(在专家系统的情况下)推荐一种行动。
在这类系统中,规则解释器或推理引擎通过两个步骤进行循环:将生产规则与数据库相匹配,然后选择应用哪些相匹配的规则并执行选定的行动。
将生产规则与工作记忆相匹配生产系统在生产规则的条件表达能力方面可能有所不同。因此,收集具有匹配条件的生产规则的模式匹配算法可以从天真--依次尝试所有规则,在第 一次匹配时停止--到优化,其中规则被编译成一个相互关联的条件网络。
后者以RETE算法为例,该算法由CharlesL.Forgy于1974年设计,用于一系列生产系统,称为OPS,最初由卡耐基梅隆大学开发,在80年代初达到OPS5的顶峰。
选择哪些规则进行评估
编辑生产系统在最终选择执行的生产规则时也可能有所不同,或者说是火。前面的匹配算法产生的规则集合被称为冲突集,选择过程也被称为冲突解决策略。
在这里,这种策略也可以从简单的--使用生产规则的编写顺序;为生产规则分配权重或优先级,并对冲突集进行相应的排序--到复杂的--根据生产规则先前被启动的时间对冲突集进行排序;或根据其RHSs引起的修改程度进行排序。
无论实施哪种冲突解决策略,该方法对生产系统的效率和正确性确实至关重要。有些系统只是简单地解雇所有匹配的生产。
使用生产系统
编辑生产系统的用途各不相同,从简单的字符串重写规则到人类认知过程的建模,从术语重写和还原系统到专家系统。
一个简单的字符串改写生产系统的例子这个例子显示了一套生产规则,用于从一个不包含符号$和*(用作标记符号)的字母表中反转一个字符串。P1:$$->*P2:*$->*P3:*x->x*P4:*->null&haltP5:$xy->y$xP6:null->$。在这个例子中,生产规则是根据它们在这个生产列表中的顺序来选择测试的。对于每一条规则,输入的字符串被移动窗口从左到右检查,以找到与生产规则的LHS相匹配。当找到匹配时,输入字符串中的匹配子串将被替换成生产规则的RHS。
在这个生产系统中,x和y是与输入字符串字母表的任何字符相匹配的变量。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/170994/