群体计算方法在商业智能中的应用
1. 引言
在为组织设计信息系统时,通常使用过程代数来建模通过消息异步通信的自主单元网络。这些系统是构建为面向服务的架构。业务架构有三种类型:(i)静态信息系统,其在系统运行期间没有结构变化;(ii)动态信息系统,其存在系统演化的规则;(iii)移动信息系统,其中某些组件在系统执行期间可以改变其在系统逻辑结构中的上下文。
用于描述并发系统中交互模式的形式语言,由通信顺序进程的形式化方法之一表示。通信顺序进程的首个语言由查尔斯·霍尔于1978年提出。这些语言包含两类元素:(i)通信事件;(ii)通过消息传递通信相互交互的进程。在这些语言中,业务流程可以被算法化地编码,以模拟由某些业务规则组织、并导向业务目标的分层组合的业务流程。
因此,通常使用通信顺序进程来模拟业务流程,即以可算法化定义的序列形式进行模拟。在过程代数中,存在多种用于表示实际业务流程的通信顺序形式的符号体系:业务流程建模符号、Web服务业务流程执行语言、业务流程定义元模型、事件驱动流程链、佩特里网等。这些符号体系提出以业务流程图作为输入转换,该转换由接口控制。将实际流程表示为所有实体均按算法顺序排列的图表是非常有用的。然而,在实际组织中,要求将办公室员工的所有任务都定义为过程代数算法,可能会使实际业务流程复杂化,并加重员工负担。不能将每位员工仅仅视为具有某些输入和输出的自动装置。
本文提出了一种避免在建模业务流程中出现顺序性的方法。问题在于,通信顺序进程将人力资源简化为具有输入和输出的自动机。然而,人们可能会感到疲劳或沮丧,有时最好能够让员工根据上下文来定义某些任务。某些任务的上下文相关性无法用通信顺序进程的形式来定义,因为由于上下文相关性,我们面对的是一个无限的原子行为集合,因此无法使用标准工具对业务流程进行形式化。
有一种被称为群体计算的非传统计算,我们所处理的进程无法以序列形式表示。关键在于,在群体中通常会出现涌现效应,此时整个系统不能被视为其子系统的归纳组合。因此,我们也可以将企业组织视为群体,其中同样存在一些涌现效应。特别是由于这些效应,当某些角色在新的变化环境中自发重新分配时,组织可以更具适应性。
我们研究的群体之一在逻辑上由多头绒泡菌的黏菌原生质团这一大型单细胞生物体表示。该黏菌原生质团通过每30‐60秒反转一次的原生质流动来行动。它可以根据吸引或抑制其行为的不同生物信号改变移动方向,甚至进行分裂和增殖。因此,一方面,该黏菌原生质团是一种单细胞生物,但另一方面,它又表现出具有分裂与增殖行为的群体特性。
黏菌原生质团的行动可以通过若干指令进行控制,例如:添加节点、移除节点、添加边、移除边。添加和移除节点分别可通过引诱剂的激活与去活化来实现。添加和移除边则可通过驱避剂实现,激活的驱避剂可阻止引诱剂之间的黏菌原生质团转移。因此,可将黏菌原生质团视为一种定时转换系统的可编程生物装置,其中引诱剂和驱避剂决定了所有黏菌原生质团转换的集合。结果是,在多头绒泡菌的黏菌原生质团情况下,我们面对的是一种过程代数。其主要特点是黏菌原生质团在所有可能的方向上表现出大规模并行扩展。这一特点是黏菌原生质团运动中的涌现效应,无法以序列的线性形式表示。
在由第七框架计划(FP7)资助的黏菌芯片项目:从黏液霉菌培育计算机(PhyChip)中,我们基于多头绒泡菌原生质团的可编程行为构建了一台生物计算机。我们设计了一款用于模拟原生质团运动的软件工具。该工具即一种用于原生质团计算机的编程语言,也可用于模拟业务流程。在此模拟中,我们可以将企业组织视为具有某种紧急情况的群体。本文展示了如何使用我们的语言对通信的业务流程进行编码。
2. 黏菌业务流程图语言
业务流程是一组在组织中执行的活动,旨在实现业务目标。业务流程语言旨在对业务流程进行建模,可用于支持业务流程的设计、管理和配置。我们用于模拟黏菌原生质团行为的语言可以重构为一种业务流程图语言。让我们称其为黏菌业务流程图语言,它将作为业务流程建模的图形表示方法,重点强调群体效应。在此语言中,我们将处理与分支、与合并、或分支、或合并等结构,同时考虑配置中可能出现的紧急情况。
使用Java环境,我们构建了基于客户端‐服务器模式运行的软件工具。客户端与服务器之间的通信通过文本消息实现。用于创建与黏菌原生质团刺激相关的新事件的代码示例如下:
p1_a1=new 吸引剂(195,224,1); p1_a2=new 吸引剂(541,310,1); p1_a1=new 吸引剂(580,92,2); p2_r1=new 排斥剂(452,130,2); p2_r1=new 排斥剂(659,327,1);
事件构造函数的前两个参数确定位置,最后一个参数是客户端ID。用于固定不同事件的初始客户端窗口如图1所示。然后,服务器根据事件的属性提出顺序流及其可能的分裂或融合,参见图2。顺序流对应于活动点(吸引剂)之间原生质体的脉络。
在这种图形表示法中,我们使用事件以及事件之间的弧。形式上,这意味着我们有一个转换系统,其中:
$$
S = (E, L, T, I_{in}, I_{end})
$$
- $ E $ 是非空的事件集,
- $ L $ 是转换的标签集,
- $ T \subseteq E \times L \times E $ 是转换关系,
- $ I_{in} \subseteq E $ 是初始事件集,
- $ I_{end} \subseteq E $ 是最终事件集。
该转换系统在我们的软件工具中以带标签图的形式呈现,其中节点对应于事件,边表示转换关系,边的标签对应于 $ L $ 中的成员。
在业务流程模拟中,事件可以来自:(i)来自 $ I_{in} $ 的开始事件(用于启动一个流程),(ii)来自 $ I_{end} $ 的结束事件(用于结束一个流程),(iii)来自 $ E \setminus (I_{in} \cup I_{end}) $ 的中间消息或定时器事件。标签表示一个业务任务,被解释为必须在流程内执行的原子活动。在黏菌业务流程图语言中,我们可以定义多种任务类型,例如:服务、接收、发送、用户、脚本、手动和引用。转换被理解为网关,即用于控制顺序流的发散与汇聚的路由结构。
黏菌原生质团运动的拓扑结构可以描述为一个三元组 $ M = (P, A, R) $,其中
- $ P = {p_1, p_2, …, p_k} $ 是多头绒泡菌原生质体的起始点集合,
- $ A = {a_1, a_2, …, a_m} $ 是一组引诱剂,
- $ R = {r_1, r_2, …, r_n} $ 是一组驱避剂。
原生质体的行为由在引诱剂之间以及从原生质体的起始点到引诱剂形成的原生质脉集合来描述。
$$
V = {v_1, v_2, …, v_r}
$$
业务流程可以由于以下双射函数集而被重新表述为黏菌原生质团转移的形式:
- $ \sigma: P \cup A \rightarrow E $,为每个原生质体的起点以及每个吸引剂分配一个事件;
- $ \tau: V \rightarrow T $,为每条原生质脉管分配一个转换;
- $ \iota_{in}: P \rightarrow I_{in} $,为每个原生质体的起点分配一个初始事件;
- $ \iota_{end}: S \rightarrow I_{end} $,为来自每个原生质体终点分配一个结束事件。
其中存在不同的转换组合,这些转换组合来自 $ T $,称为网关:
- 并行分叉网关:用于创建具有不同结束事件的并发序列流;
- 并行合并网关 AND:在开始时,将一个顺序流 A 拆分为多个流 A1,…, An,然后融合为 AND(A1,…, An) = B;
- 并行合并网关 OR:在开始时,将一个顺序流 A 拆分为多个流 A1,…, An,然后融合为 OR(A1…, An) = B;
- 基于事件的决策网关 XOR:在开始时,从一组互斥的顺序流 A1,…, An 中选择一个分支,然后将各分支顺序流合并为一个顺序流 XOR(A1,…, An) = B。
因此,工作流 $ s $ 基于以下项目:
- $ I_{in} $ 的初始事件;
- $ I_{end} $ 的终止事件;
- 任务集合 $ T_s = T $;
- 流关系 $ F \subseteq (I_{in} \times T_s) \cup (T_s \times T_s) \cup (T_s \times I_{end}) $,使得每个节点都位于从 $ I_{in} $ 到 $ I_{end} $ 的有向路径上;
- 拆分 AND、OR 或 XOR;
- 合并 AND、OR 或 XOR;
- 移除定义了执行该任务时被清除的工作流子集;
- 每个任务的实例数量定义,依据函数 MIN(任务的最小实例数)、MAX(最大实例数)和阈值(若达到阈值,则所有活动实例被取消,且该任务被视为已完成)。
因此,在这种工作流网的经典定义中,我们假设始终能够构建一个工作流网,其中每个事件和每个转换都位于从初始事件到终止事件。因此,初始事件没有传入边,终止事件没有传出边。在进行与、或或异或分裂后,我们 可以构造相应的与、或或异或融合。因此,我们处理的是从 $ I_{in} $ 到 $ I_{end} $ 的有向图。然而,对于多头绒泡菌的黏菌原生质团这类群体,我们面临的情况是没有有向图,因为任何群体都有策略向所有可到达的方向扩展,从而倾向于分裂而非融合。换句话说,我们始终面临的输出多于输入。另一个问题是,任何群体都具有自由意志,在相同条件下,群体的行为可能不同。
在我们的黏菌业务流程图语言中,我们实现了群体的一些特性,包括它们的扩展策略。因此,由于无法基于原子任务通过归纳方式构建工作流网,我们避免使用原子动作。
3. 基于群体行为的反射式管理
反射式管理用于控制代理的知识结构,以确保所有操作都满足中心目标,即对这一中心最为有利。反射式管理的实质性类型如下:
- 制度管理 :所有代理组允许的行为集合的修改;
- 动机管理 :具体代理目标函数的修改;
- 信息管理 :代理在决策中所使用信息的修改。
信息管理进一步分为以下类型:
- 信息调控 :对事态相关信息的有目的影响;
- 专家管理 :对决策建模相关信息的有目的影响;
- 主动预测 :根据事态和参与者行为,对参数未来值相关信息的有目的传播。
在我们的黏菌业务流程图语言中,由于我们在业务流程模型中实现了一些群体特性,因此可以构建反思性博弈和反射式管理。
让我们从定义一些将用于定义反思性博弈的转换类开始。对于转换系统中的每个事件,我们可以以其直接后继和前驱的形式来确定它:
- $ \text{Post}(e) = \bigcup_{l \in L} \text{Post}(e, l) $,其中 $ \text{Post}(e, l) = { e’ \in E \mid (e, l, e’) \in T } $,是事件 $ e $ 的全部直接后继组成的集合;
- $ \text{Pre}(e) = \bigcup_{l \in L} \text{Pre}(e, l) $,其中 $ \text{Pre}(e, l) = { e’ \in E \mid (e’, l, e) \in T } $,是状态 $ e $ 的全部直接前驱组成的集合。
如果在转换系统中存在事件 $ e \in E $,使得 $ \text{card}(\text{Post}(e)) > 1 $,其中 $ \text{card} $ 是集合的基数,则称为非确定性转换系统。在非确定性转换系统中,我们处理某些状态的直接后继的歧义问题,即发生事件/任务的分裂而没有根据与、或、异或进行后续的融合。
在非确定性转换系统中,我们可以借助粗糙集理论中定义的集合的粗糙近似。设 $ S = (E, L, T, I_{in}, I_{end}) $ 为一个转换系统且 $ X \subseteq E $。其
下级前驱预估 $ \text{Pre}^*(X) $ 的定义由以下给出:
$$
\text{Pre}^*(X) = { e \in E \mid \text{Post}(e) \neq \emptyset \text{ 且 } \text{Post}(e) \subseteq X }
$$
下级前驱预估包含所有从这些事件/任务出发必然到达 $ X $ 中事件/任务的。
上级前驱预估 $ \overline{\text{Pre}}(X) $ 由以下公式给出:
$$
\overline{\text{Pre}}(X) = { e \in E \mid \text{Post}(e) \cap X \neq \emptyset }
$$
上级前驱预估包含所有可能流向 $ X $ 中事件/任务的事件/任务。因此,$ \text{Post}(e) $ 也可能流向 $ X $ 外部的事件/任务。
根据粗糙集方法,即变精度粗糙集模型,我们可以重新表述包含关系。设 $ A, B \subseteq U $ 为给定元素集。标准集合包含定义为:
$$
A \subseteq B \quad \text{if and only if} \quad \forall u \in A, u \in B
$$
现在,设 $ A, B \subseteq U $,以及 $ 0 \leq \beta < 0.5 $。多数集合包含定义为:
$$
A \subseteq_\beta B \quad \text{if and only if} \quad 1 - \frac{|A \cap B|}{|A|} \leq \beta
$$
其中 $ |A| $ 表示集合的基数。$ A \subseteq_\beta B $ 意味着属于 $ A $ 的指定多数元素也同时属于 $ B $。可以看出,如果 $ \beta = 0 $,则多数集合包含就变为标准集合包含。
通过在转换系统中将状态集的下级前驱预估的原始定义中的标准集合包含替换为多数集合包含,我们得到以下广义的 $ \beta $-下级前驱预估。设 $ S = (E, L, T, I_{in}, I_{end}) $ 是一个转换系统且 $ X \subseteq E $。该 $ \beta $-下级前驱预估的定义如下:
$$
\text{Pre}^*
\beta(X) = { e \in E \mid \text{Post}(e) \neq \emptyset \text{ 且 } \text{Post}(e) \subseteq
\beta X }
$$
$ \beta $-下级前驱预估由每个事件/任务组成,这些事件/任务在大多数情况下(即根据多数集合包含)从 $ e $ 指向 $ X $ 中的事件/任务。
设 $ S = (E, L, T, I_{in}, I_{end}) $ 为一个转换系统,$ X \subseteq E $,且 $ 0 \leq \beta < 0.5 $。若 $ e \in \text{Pre}^ (X) $,则 $ e $ 被称为来自 $ X $ 的事件/任务的 严格预估器 。若 $ e \in \text{Pre}^ _\beta(X) $,则 $ e $ 被称为来自 $ X $ 的事件/任务的 准预估器 。所有严格预估器的集合将被记为 $ \text{Ant}(X) $,而所有准预估器的集合将表示为 $ \widetilde{\text{Ant}}(X) $。注意,对于一个 $ X $,
$$
\text{Ant}(X) \subseteq \widetilde{\text{Ant}}(X)
$$
现在我们可以将黏菌业务流程图语言的转换系统扩展到反射式管理语言:
$$
PG = (E, TS, \text{Agt}, \text{Act}, (\text{Ant}(X), \widetilde{\text{Ant}}(X)), \text{Mov}, \text{Tab})
$$
其中
- $ E $ 是一组事件/任务;
- $ TS $ 是反思性博弈中的收益集;
- $ \text{Agt} $ 是一组反思性参与者(代理);
- $ \text{Act} $ 是非空策略集,由每个收益对应的 $ \text{Ant}(X) $ 或 $ \widetilde{\text{Ant}}(X) $ 表示;$ \text{Act} $ 中的一个元素称为一个 行动 ;
- $ \text{Mov}: \text{Agt} \times \mathcal{P}(E) \to \mathcal{P}(\text{Act}) \setminus {\emptyset} $ 是一个映射,用于指明在给定的事件/任务集中某一参与者可用的行动集;
- $ \text{Tab}: \mathcal{P}(E) \times \text{Act} \to \mathcal{P}(E) $ 是转换表,它将博弈中给定的事件/任务集与参与者的特定行动关联起来,并确定该行动所导致的博弈后续事件/任务集;
- 对于每个 $ A \in \text{Agt} $,$ \preceq_A $ 是 $ E $ 子集上的一个预序(自反且传递的关系),称为参与者 $ A $ 偏好关系。
因此,参与者的策略并非互斥,即它们可以相交。这一点是反思性博弈和群体行为的主要特征。在这些博弈中,我们根本无法定义互斥的策略。在反思性博弈中,我们可以陷入无限层级的认知图景:
- (i)每个参与者都可以拥有自己对事态的认知图景,记作 $ K_1A $ 和 $ K_2A $;
- (ii)一阶反思通过二阶图景来表达,记作 $ K_1K_2A $ 和 $ K_2K_1A $,其中 $ K_2K_1A $ 是代理2关于代理1图景的认知,而 $ K_1K_2A $ 是代理1关于代理2图景的认知,依此类推。
在反射式管理中,我们选择反思层次 $ n $($ n > 0 $)以协调所有参与者的行动。
4. 结论
我们已经表明,用标准业务流程图语言形式化的通信顺序进程不具有群体的涌现特性;如果试图将这些特性引入业务流程图语言,则会面临分裂出现频率高于融合的情况(第1节)。在此实现之后,我们可以构建一种反射式管理语言(第2节),该语言包含某些群体的特性。
1403

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



