网络辨证的算法原理

2021-09-15 07:24许强郭强张艺凡张松刘一诚温川飙李炜弘
成都中医药大学学报 2021年3期
关键词:整体观外邪基点

许强,郭强,张艺凡,张松,刘一诚,温川飙,李炜弘▲

(1.成都中医药大学,四川 成都 610075;2.成都市第一人民医院,四川 成都 610016;3.成都中医药大学附属医院,四川 成都 610072;4.内江市中医医院,四川 内江 641600)

传承精华、守正创新,为中医药发展厘清了思路,指明了方向,既把握了中医药的特点,更符合中医药发展的规律,对我们在新的历史时期做好中医药工作有着重大意义[1]。整体观和辨证论治是中医药的两大核心理念[2],是中医守正应遵循的基本原则;数字化中医是中医现代化的重要途径,是中医创新的关键技术手段。课题团队谨守中医整体观这一核心学科内涵,守正以创新,基于系统科学的思想提出了一种以病机为核心的数字化辨证新方法——网络辨证。本文将从数学的角度阐释网络辨证的算法原理。

1 学科背景

1.1 病机网络

中医学从系统论的角度去整体认识生命与疾病[3],钱学森多次强调“人体科学一定要有系统观,而这就是中医的观点”[4-5]。结构上,中医将人体看成是以五脏为中心,配以六腑并通过经络的联络作用形成的一个有机系统[2]。生理上,中医将人体看成是由五脏六腑等构成的功能性网络,各系统之间相互制约、相互协同,从而维持生理平衡。病理上,中医学认为疾病的发生发展是邪气与正气相互作用的结果[2]。从系统科学的角度出发,病机可定义为由多种病邪与(或)正气虚对应的基本病机(统称为病机元)组成的集合。

事实上,因阴阳、气血、脏腑等不同,正气虚可细分为肾气虚、肾阴虚、心血虚等病机元;因病邪种类不同,邪气盛亦可细分为风热外邪、湿邪、瘀血等病机元。中医理论体系下,病机元之间存在着广泛的二元因果(或从属)关系,如肺气虚导致脾气虚,肺热从属于里热,我们将病机元之间的二元关系定义为病机链。病机链具有传递性,如肺气虚招致风寒外邪,风寒外邪入里产生里热,由于这种关系的传递,病机从数学上可进一步具象为由病机元与病机链构成的复杂网络。课题组通过图论的有向图结构将中医学的病机概念数学化地定义为病机网络,其中病机元代表网络的顶点,病机链代表网络的边[6-7]。图1示例一个由5个病机元、6条病机链构成的病机网络。

1.2 整体观原则

系统科学的研究对象为一组具有联系的多个子系统构成的复杂系统,系统科学将多个具有联系的子系统看做整体,还原论与整体观为系统科学的基本方法[3],该方法与中医的整体观思想是高度吻合的。本节将在系统科学指导下,举例论述整体观思想在中医辨证中的应用。

1.2.1 单值性辨证推理

引入一简单的病例,假定中医实践者收集到两个症状——脉浮与头痛,同时假设该实践者具有两个先验知识(暂不考虑先验知识的完备性):脉浮可能由风寒外邪(A)或风热外邪(B)导致;头痛可能由风寒外邪(A)或肾精亏虚(C)导致。显然基于单值性推理原则,实践者会把风寒外邪(A)推理为该病例的最可能原因。本案例中单值性推理原则是指:一个症状映射多个候选原因(病机元),多个症状共存时人脑总是倾向归因推理出唯一且相同的原因(病机元)。

1.2.2 整体性辨证推理

将上述病例进行复杂化,假定除脉浮与头痛外,还存在第三个症状舌质红,同时实践者存在第三条先验知识:舌质红可归因于里热(D)或阴虚(E)。如若按照单值性推理原则并不能得到适合的辨证结果,但假若实践者存在另外的先验知识:风寒外邪能够入里化热即病机链(风寒外邪→里热)。这种情况下基于整体性推理原则,实践者会把(风寒外邪(A)+里热(D))推理为该病例的最可能病机。本案例中整体性推理原则是指:一个症状映射多个候选原因(病机元),多个症状共存时人脑总是倾向归因推理出一组具有整体联系的原因(病机元)。

1.3 网络辨证

前文已述,系统科学将多个具有联系的子系统视为整体,这种思想与中医的整体观思想是高度吻合的,事实上,整体观是中医药最为重要的核心思想[8-9]。课题组基于整体观思想并结合图论理论提出了一种以病机为核心的数字化辨证新方法,即网络辨证。网络辨证可表达为公式1,其中矩阵C表示先验知识1即症状与病机元之间的关系(简称S2P),矩阵M表示先验知识2即病机元与病机元之间的关系(简称P2P),x表示输入症状集合,y表示病机网络,f1,f2,f3表示3个推理函数。需要强调的是先验知识即S2P与P2P是网络辨证的前提,上述关系信息均由多名具有中医专业背景的中医医生投票决定(德尔菲法原理)。

y=f3(f2(f1(x:C.M))

(1)

网络辨证的医理模型包括三个阶段:第一阶段基于笛卡尔积运算穷尽枚举所有的候选病机网络,第二阶段基于中医的整体观思想筛选出有限的整体性网络;第三阶段基于人机交互策略确定出唯一的个体化病机网络。第二阶段f2即是网络辨证的关键。如前文所述,中医辨证过程中是基于整体观原则筛选出有效的病机网络,在我们的研究中,我们对整体观原则建立了启发式的数学定义(定义1)。整体观定义是网络辨证的核心。理论上讲,判定网络的整体性等价于判定网络中是否存在(至少一个)基点。图2对病机网络进行了图形化示例,我们能够观察到G1中存在基点(P1);G2中存在基点(P1);G4中存在基点(P1);G5中存在基点(P1,P2,P6);G3、Gi不存在基点。根据定义我们能够直接得出结论:G1、G2、G4、G5为整体性网络。回顾1.2节所示的两个案例,单值性推理与整体性推理均满足此定义。整体观定义具有高度通用性且与传统人脑辨证的思维过程是高度吻合的。

定义1:病机网络G中如果存在至少一个顶点v到其它顶点都是可达的,我们则规定G具有整体性且将其称为整体性网络;否则G称为非整体性网络。如果顶点v存在,我们称其为网络的基点。

2 基本原理

本节将从数学层面详细论述网络辨证的算法原理即医理模型,其整体框架描述见图3。

图3 医理模型整体框架描述

2.1 候选病机网络的生成

图4 候选病机网络生成

2.2 整体性病机网络的筛选

第一阶段得到了所有候选病机网络PNs,第二阶段的目标是从PNs中筛选出整体性网络h-PNs。算法的伪代码见Algorithm 2(图5),其中A(vm)表示网络中的病机元vm与该网络中其它所有病机元的可达性,A(vm)为布尔类型,其中“1”表示全部可达,“0”为不全部可达,同时约定病机元vm与其自身是可达的。前文已述(定义1),筛选原理是基于整体观原则,而判定网络的整体性等价于判断网络中是否存在基点。具体而言,给定一个病机网络,我们从该网络的第一个病机元开始判断该病机元到其它所有病机元的可达性(Line 3),如果是全部可达(Line 4),我们将其记为基点(Line 5),该网络记为整体性网络(Line 6),将该网络添加至集合h-PNs中并终止循环(Line 7)。否则重复执行上面操作,最糟糕的情况下我们需要重复至最后一个顶点,如果该顶点还不是基点,我们则判断该网络为非整体性网络。我们对所有候选病机网络执行相同的判定操作,则得到了对应的整体性病机网络集合h-PNs(Line 2~9)。

图5 整体性病机网络筛选(定义版)

由于病机网络是不带权重的,规定网络的所有边的权重为1,显然计算特定点到其它所有点的可达性等同于计算特定点到其它所有点的最短路径。在我们的研究中采用图论中非常著名且计算效率优良的算法(Dijkstra算法)[8]计算最短路径(Line 3)。然而虽然Dijkstra算法计算效率已经很高,但最短路径问题本身在图论中就是一个计算复杂度特别大的问题。Line 2~9的计算复杂度达到了一个恐怖的数量级O(n×n2),其中n代表给定网络中的病机元数目,O(n)对应 Line 2的复杂度,O(n2)表示Dijkstra算法的复杂度。更糟糕的是上述复杂度只涉及到一个网络,假定我们有10个症状,每个症状有20个候选病机元,则第一阶段会生成2010个候选病机网络。显然哪怕对于性能非常好的计算机而言,这种计算量都是不可能完成的。

为了解决Algorithm 2的计算效率问题,我们提出了Algorithm 3对其进行优化。从图论的角度讲,整体性(网络的全局属性)是与顶点的度(局部属性)是高度相关的。现在我们提出三个重要的关于这两种属性的定理推理,其中NG表示网络中入度为0的病机元数目(图6)。

图6 整体性与局部属性的定理推理

Algorithm 3(图7)的描述如下:对于每个候选病机网络Gi(Line 1),我们计算其入度为0的病机元数目NGi(Line 2)。NGi的取值分三种情况,第一种情况NGi≥2,根据定理1,Gi为非整体性网络(Line 3-6);第二种情况NGi=1即存在一个入度为0的病机元vr,根据定理2,Gi为整体性网络等价于病机元vr为基点,则可通过Dijkstra算法判断vr到其它病机元的可达性A(vr),如果A(vr)为真(“1”),则根据定义1,vr为基点,Gr为整体性网络,将Gi添加至G+(Line 7-14);第三种情况NGi=0,则网络中必然存在有向环Gs,从Gs取任取病机元vr,根据推论1,G是整体网络等价于vr是一个基点,我们对vr执行第二种情况相同的操作并判定其是否为整体性网络(Line 15-25)。显然第一种情况的算法复杂度为O(1),第二种情况为O(n2)即Dijkstra算法的复杂度,第三种情况也为Dijkstra算法的复杂度O(n2),Line 2-15的整体算法复杂度为O(n2)。综上,给定任意一个病机网络,判定其是否为整体性网络的算法复杂度由为O(n3)(Algorithm 2)降低为O(n2)(Algorithm 3)。

图7 整体性病机网络筛选(优化版)

2.3 临床病机网络的确立

从第二阶段得到了该组症状对应的所有整体性病机网络即h-PNs,然而整体性病机网络的数目是不唯一的。这很容易理解,同样一组症状,不同的流派有不同的辨证思维,哪怕是同一流派不同的(医生)个体也有不同的辨证结局,(医生)个体化辨证是中医重要的固有属性内涵。图论不仅仅是重要的数据分析工具,也是一种重要的数据可视化工具[8]。网络辨证借助图论的数据分析作用从无限的候选病机网络中筛选出有限的整体性网络(第二阶段),借助图论的可视化作用将有限的整体化网络进行可视化展示,基于人机交互,融合医生个体化经验筛选出唯一的临床病机网络(第三阶段)。通过辨证推理模式既数字化还原了中医传统辨证过程中固有的整体观理念,又遵循了中医传统辨证过程中固有的个体化辨证特性,守正以创新。

3 定理推论的证明

前文已对网络的整体性、网络的基点等概念做出相关数学定义,本节将对第二部分涉及的定理1、定理2、推论1进行证明,其中定理1与定理2可直接证明,推论1则由一系列的其它定理与引理推出,其中符号Root(G)表示网络中入度为0的病机元集合,NG表示网络中入度为0的病机元数目。

定理1:如果G是一个NG≥2的网络,则G是一个非整体性网络。

证明: 若不然,G是整体性的,则G中一定至少有一个基点,不妨记为v,我们断言:v∈Root(G)成立。因为NG≥2,因此必然有v1,v2∈Root(G)。若v∉Root(G),则P(v,v1)=Ø,与v是基点矛盾。另一方面,因为v∈Root(G)且NG≥2,因此必然有v≠v′∈Root(G),则必然有P(v,v′)=Ø,若不然这与v′∈Root(G)矛盾。因此v不可能是G的基点。

综上,命题成立。

定理2:如果G是一个NG=1的网络且vr是入度为0的病机元,则G是整体性网络⟺vr是一个基点。

证明:⟹由定理1的证明,NG=1以及G是整体性网络,我们可知道对于vr∈Root(G),一定有v是G的基点。

⟸由定义可以知道,G是整体性网络。

综上,命题成立。

定义2:网络G中,对于任意两条道路p1∈P(v,v′),p2∈P(r,r′),如果,即的终点是的起点,那么我们可以将这两条道路连接起来得到中的一条道路,我们将这样连接的道路记为p2*p1。

引理1:定义R={(x,y)|Px,y≠Ø,Py,x≠Ø},显然的,我们有R⊆G×G,因此R是G上的一个二元关系。更进一步,R为G上的一个等价关系。若(x,y)∈R,我们记作x~y。

证明:自反性:对于∀v∈VG,总是有Pv,v≠Ø,因此x~x。

对称性:设x~y,即Px,y≠Ø,Py,x≠Ø,因此Py,x≠Ø,Px,y≠Ø,故y~x。

传递性:设x~y,y~z,则P(x,y)≠Ø,Py,x≠Ø,P(y,z)≠Ø,P(z,y)≠Ø,我们取pxy∈P(x,y),pyz∈P(y,z),pyx∈P(y,x),pzy∈P(z,y)。由道路连接的定义(见定义2),我们有pyz*pxy∈P(x,z),以及pyx*pzy∈P(z,y),因此P(x,z)≠Ø,进而有x~z。

综上,R是G上的等价关系。我们称G/R为G的商网络。

引理2:(聚合引理)G是整体性网络,x,y∈VG,并且x~y。那么若x是基点⟺y是基点。即在等价关系R划分的等价类中,同一等价类中的顶点,要么全是基点,要么全不是基点。

证明:⟹因为x是基点,则∀x≠vi∈VG,由基点的性质P(x,vi)≠Ø。因此我们取pi∈P(x,vi)。由于x~y,因此P(y,x)≠Ø,取py∈P(y,x),则总是有pi*py∈P(y,vi),因此y是基点。

⟸命题是对称的,故成立。

综上,引理成立。

定理3:(网络不变定理)若网络G是整体性的⟺其商网络是整体性的。

证明:由引理1,我们得知对于任意网络G,其商网络G/R一定存在。

⟹考虑自然投影:π:G→G/R

取G中的一个基点G以及一条道路$p$,记[g]为g得到的等价类,[p]为道路p得到的等价类,利用R是等价关系以及R的定义,对于任意道路pv∈P(g,v),有[g]∈P([g],[v])。进而对于∀[v]∈G/R,有P([g],[v])≠Ø,因此[g]是G/R的基点,故G/R是整体性网络。

⟸考虑拉回:π-1:G/R→G

其中,对于∀[v]∈VG/R,由拉回的定义可以知道π-1([g]):={v∈VG|π(v)=[g]}。取G/R中的一个基点[g],记Ug=π-1([g]),显然∀x,y∈Ug,有x~y,从而π-1对顶点是良定义的。因此可以直接定义π-1([g])。对于任意G/R中的道路[p]∈P([v],[v′]),对于∀x∈Uv,以及∀y∈Uv′,由于总有px∈P(x,v),px′∈P(v,x),py∈P(x,v′),py′∈P(v′,y)。因此只需要找到P(v,v′)中的元素即可,进而定义π-1([p])=p∈P(v,v′),从而π-1对道路也是良定义的。因此,对∀v∈Ux,我们有π-1([pv])=px∈P(g,x),再取pxv∈Px,v,因此有p(x,v)*px∈P(g,v)。遍历所有的等价类,从而有g是G的基点,由聚合引理知道,基点g与选取无关,因此G是整体性网络

推论1:如果G是一个NG=0的网络,网络中必然存在有向环Gs,从Gs取任病机元vr,则G是整体性网络⟺vr是一个基点。

证明:⟹由网络不变定理可知,G是整体性网络,因此G/R也是整体性网络,从而在G/R中必然有基点[g],而π-1([g])为G中的有向环Gs,再利用聚合引理即可知,此环中任意一点都是G的基点。

⟸由于vr是基点,由定义,G是整体性网络。

综上,推论成立。

4 结语

随着信息学的发展,将传统中医与现代计算技术结合一直是中医寻求突破的重要途径。中医强调辨证论治,数字化辨证是实现中医智能化的关键与前提。中医理论体系下,病机是中医临床实践的核心概念[13-14],课题团队基于系统科学思想首次提出一种以病机为核心的数字化辨证新方法——网络辨证。本研究的创新点如下:(一)首次提出病机网络的概念:中医学认为疾病的发生发展机理(即病机)为邪气与正气相互作用的结果。从系统科学的角度而言,病机可定义为由多种病邪与(或)正气虚对应的基本病机(统称为病机元)组成的集合,另外病机元之间存在着广泛的二元关系(称为病机链),病机链具有传递性,如肺气虚招致风寒外邪,风寒外邪入里产生里热,由于这种关系的传递病机可进一步具象为由病机元与病机链构成的复杂网络。课题组通过图论的有向图结构将中医学的病机概念数学化地定义为病机网络,其中病机元代表网络的顶点,病机链代表网络的边。相较于四字证型模式的病机表达,病机网络对病机的表达更加全面、直观,最重要的是通过病机的网络化定义,实现了复杂病机的表达。 (二)明确辨证整体观的数学定义:整体观是中医辨证的基本原则,本研究明确了中医辨证整体观的数学定义,具体如下:病机网络G中如果存在至少一个顶点v到其它顶点都是可达的,我们则规定G具有整体性且将其称为整体性网络;否则G称为非整体性网络。如果顶点V存在,我们称其为网络的基点。整体观是中医的精髓,整体观定义是网络辨证的核心。上述定义具有高度普适性,给定任意病机网络,根据该定义能够得出其是否满足整体观定义,是否符合中医整体观原则。 (三)阐述网络辨证算法原理:网络辨证医理模型包括三个阶段,第一阶段基于笛卡尔积运算穷尽枚举所有的候选病机网络;第二阶段基于系统科学的整体观筛选出有限的整体性病机网络;第三阶段基于人机交互策略确定出唯一的临床病机网络,本文从算法角度阐释了网络辨证的数学原理,提出且证明了三个重要的定理推论对其中的关键算法进行优化。

总结而言,网络辨证在遵循中医系统观、整体观、个体化等核心科学内涵的前提下,提出一种以病机为核心的数字化辨证方法,跳出了中医证型辨证模式,脱离中医“一病几证,一证几方”的诊疗误区,为中医数字化辨证提供思路。

猜你喜欢
整体观外邪基点
干眼环境病因及中医外邪属性的理论探讨
田野调查和学术整体观
从“外邪”探析系统性红斑狼疮的中医药防治
“外邪致中”还是“内伤致中”?——说说“真中风”和“类中风”
推进零售业务标准化转型需要整体观
经验方治疗急慢性咳嗽理论初探
基于“整体观”的“韦达定理”教学与思考
非物质文化遗产保护的整体观