书城管理决策问题管理系统开发研究
10721500000020

第20章 决策子问题智能识别模型

利用识别出的求解方法求解问题,除了问题类型和求解方法的选择要合适外,还必须满足使用方法所需的条件,否则该问题不能直接求解,需要产生新的问题(即子问题)才能得到这些条件。所以子问题的智能识别也是利用PMS辅助求解决策问题的关键之一。子问题的智能识别包括子问题的产生规则以及子问题构建规则的建立。

4.3.1 基于问题属性取值状态分析的子问题识别模型

根据第二章所提出的子问题产生机制,决策问题的所有属性全部识别后,还必须确认属性值的状态,当属性值不明时则产生子问题。问题的求解条件即问题的关键属性,问题识别的最终目标就是识别问题的求解条件及其值。若问题求解条件的值缺省,则必须考虑是否产生子问题。第二章对问题不需要产生子问题的情况作了分析。基于此可得出:当问题的非目标属性值不明,并且该属性不是大于或等于其分解层级子问题的目标属性时便产生子问题。由此可得到用条件判断语句的形式表示的子问题识别模型:

VValUeAi=NULL,i≠j,ValUeAi≤ValUeBi,ValUeAi≠ValUeBi→PAi(24)

其中,Ai为父问题P的子问题PA的第i个属性;Ai为问题PA的目标属性;Bi为父问题P的另一子问题PB的目标属性;Ai和Bi分别为问题PA和PB的层次属性;PAi表示由子问题PA的属性Ai产生相应的下级子问题,i,j,t,l⑨N。而ValUeAi的确定依据以下的规则判别:

{(S[i][m],S[i][n],R)},Data→mi(S,ValUe)(25)这里,{(S[i][m],S[i][n],R)}为问题条件子句的各依存关系三元组表示。Data为用户指定的数据源,即在子问题未识别之前,求解方法所需的求解条件数据源或来源于问题给出的已知条件,或来源于用户手工设定。

对式(24)而言,它适应于各级子问题的产生。特别是,当ValUeAl=0时,PA=P,条件ValUeAl≤ValUeBl和ValUeAi≠ValUeBi自然成立。这种基于判断规则的子问题产生机制模型在计算机中更容易实现。

需要说明的是,子问题的产生依赖于父问题的求解方法,因为求解方法所需求解条件的取值是否明确是产生子问题的关键。当产生的子问题经过隐含属性识别后所得到的求解方法所需的求解条件仍然是属性值不明时,又需进一步产生次级子问题,有可能导致由该方法的求解条件所产生的一系列子问题总是找不到各子问题求解方法所需条件的数据源,从而使得问题分解持续进行而不能终止,甚至陷入死循环。为避免这种情况发生,可在PMS的子问题分析模块中定义一个阈值Nf,当分解层级大于Nf时,PMS可提醒用户最初父问题的求解方法可能选择不当,并提示用户是否尝试选择其他求解方法。

4.3.2 子问题构建规则与分析方法

上述子问题识别模型只是解决了PMS在问题求解过程中子问题产生规则的问题,为了使用户能够对产生的子问题进行判别和修正,还需要把产生的子问题呈现给用户,这就涉及子问题的构建规则。由于子问题产生于其父问题取值不明的属性,因此子问题的基本表述形式应该是“该属性值是多少”。同时,由于问题对象的继承性,子问题的结构是明确的,即其求解目标为待求的父问题的不明属性值,而其已知条件则继承父问题的已知条件。因此,子问题的条件和目标不需要再识别,其双关键词为“××属性值”、“是多少”。

这样,子问题的构建规则可描述如下:

If P(mi(si,ValUe=ní11)),si⑨P(mi(S))

Then p(S,ValUe)=P(S,ValUe)

ai=“si”

bi=“是多少”

p(D)=ai bi

End if

其中,P表示父问题;p表示子问题;P(mi(si,ValUe))为父问题的求解方法mi的求解条件及取值;P(mi(S))为父问题的求解方法mi的求解条件集合;p(S,ValUe)和P(S,ValUe)分别为子问题和父问题的已知条件属性及其取值;ai为子问题的关键主题词;bi为子问题的关键动词;ai bi则为子问题的双关键词;p(D)为子问题的求解目标。

根据这一方法构建的子问题,其分析过程只需从确定双关键词对应的问题类型及其求解方法的识别开始。当然,构造的子问题需要经用户确认,如果用户对子问题的表述不满意,可以对其进行修改。此时,由用户修改过的子问题还需再经过表层属性的识别。