关键词:计算机仿真;复杂系统;中医学;面向对象程序设计
1计算机仿真技术提供了适合中医学理论的实验室
科学技术的不断进步,推动着整个人类社会的发展,计算机的出现,使人类社会由工业社会向后工业社会——信息社会过渡。我国著名的科学家钱学森说:“我们所设计的信息体系简直可以包括全部人类千百年来创造的、而且还在不断创造的精神财富。而这全部精神财富可以由我们每个人随手调用和享受。这不但是从旧的脑力劳动中解放出来,而且是获得一个伟大的世界,从来未有的高度文化的世界。……人将变得更为聪明,人类的前进步伐更将加快。”这位大科学家以前所未有的高度论述了由计算机引起的这场技术革命。随着计算机技术的发展,一种崭新的学科——仿真学诞生了,从新药品的仿真测试到行星和星系的创生模型,以及计算机化培养皿中生长的数字生命形式,这是一种新的方法,不是基于直接的观察和实验,而是基于从真实空间向虚拟空间的映射。虽然这项工作仍处于起歩阶段,但已足以让每一颗好奇的心欣喜若狂。在这样一个伟大的时代,古老的中医学面临着前所未有的机遇和挑战。怎样将计算机科学与技术融入中医学领域,是一个值得深思和大胆尝试的问题。值得庆幸的是,计算机仿真是建立在复杂系统理论基础上的,而中医学理论所描述的正是这样一个复杂系统。
当伽俐略第一次拿起望远镜仰望太空时,他为人类创造了科学方法,即用实验来检验关于世界如何成其为世界的种种假说。于是有了拥有试管、曲颈瓶和本生灯的化学实验室,用来探测物质内核的价值连城的粒子加速器,以及在任何生物实验室都能看到的解剖青蛙和用显微镜观察植物细胞。然而,这些都是仅适用于简单系统中物质结构研究的实验室。现代理论物理学家薛定谔(Erwin Schrodinger)在《生命是什么?》一书中写道:“只要我们涉及活物质的结构,我们就必须面对这样一个事实:它是以不能还原成通常的物理学定律的方式起作用的。原因不在于某种‘新的力’或某种类似的东西支配着活的机体中的一个个原子,而是其结构不同于任何我们已从试验室研究中认识的东西。”[1]也正因如此,尤其是对于与西医学思维方式大相径庭的中医学理论,实验室研究一直是一筹莫展,经络实质的研究无功而返,各种“证”的实验模型设计令人啼笑皆非,中药的研究几乎与中医理论毫不相干……中医学所构建的庞大而复杂的系统难以在简单系统的实验室中得到验证,这是不难理解的。计算机仿真学的出现真值得每一位中医界的同仁为此干上一杯,因为这一方法的出现能使中医学多年的“科学梦”成为现实!虽然计算机仿真学正在起步,而这对中医学来说却是难得的机遇,不仅可以揭开其古老而神秘的面纱,而且有望为中医学打开一扇新的大门,开拓更为广阔的发展空间。
而将计算机仿真技术运用于中医学,面向对象程序设计是一个关键环节,下面将面向对象程序设计作一简要介绍。
2面向对象程序设计(OOP)概述
面向对象程序设计简称OOP,是Object-Oriented Programming的缩写。面向对象是与面向过程相对而言的,传统的程序设计语言,如C语言,是面向过程的结构化程序设计语言,这种语言在20世纪80年代非常流行。随着软件业的发展,软件的规模越来越大,导致软件的生产、调试、维护越来越困难,因而发生了软件危机。人们期待着一种效率更高,更加容易理解,更加符合人类思维习惯的程序设计语言,OOP就是在这种情况下应运而生的。在20世纪90年代,OOP异军突起,成为最有希望,最有活力的程序设计方法。
①面向对象与面向过程的区别
计算机没有思想,人必须明确地告诉它如何运算,每一步做什么。站在这种计算机的角度进行程序设计,就是面向过程的方法。如:用计算机模拟一只猫捉老鼠的过程,程序员必须告诉计算机每一步猫的具体的动作。如果用面向对象的程序设计方法来做,就可以把猫作为一个独立的对象,猫会奔跑,猫会捉老鼠,这些是它的固有属性,被封装在猫这个对象之中,所以,只需给出老鼠出现的信息,猫就会自动去捉。与面向过程相比,面向对象的方法更符合人的思维习惯。
②对象与类的概念
对象与类是面向对象方法中的两个基本概念。客观世界中实体的抽象构成对象,任何事物都可以作为一个对象,如一个人、一辆汽车、一个窗口、一个按钮、一座建筑、一项贷款等等。对象的划分和定义是灵活的,视需要而定。具有相同属性和行为的一个或多个对象的集合成为一类。类有层次之别,类下可以有子类,类上可以有父类。如:人可分为男人和女人,男人又可以分为儿童、青年、成年、老年等等。类是对象的抽象,对象是类的实例。类的划分也是灵活的,依需要而定。子类可以作为父类的对象看待。
③对象的特性
对象有以下基本特性:
封装性:对象是相对独立的单元,与之相关的数据和操作被封装在内部,对外是不可见的。对象和对象之间通过信息交换进行联系。如一只花猫,它是一个相对独立的个体,它的机体内包含复杂的结构,而这些结构是不可见的。
继承性:每个对象都从它所属的类中继承共性。如一只花猫,它从猫这一类中继承了猫的共性。
多态性:每个对象都有其特有的属性,使之区别于其它对象。如一只具体的猫,它与其它猫是不同的,有不同色泽、脾气、体重等。
④面向对象方法可以用下列方程式来概括:
OO=Objects+Classes+Inheritance+Communication With Messages
即:面向对象=对象+类+继承+信息交换
在这里值得注意的是,上面的方程式也可以用作系统的描述,而且容易从中看出简单系统与复杂系统的区别:简单系统通常是少量的个体对象,它们之间的相互作用较弱,甚至可以忽略不计,故而可以作为独立的个体进行研究;而复杂系统中涉及中等数目的对象,不仅如此,对象通常具有智能性与自适应性,它们可以按照各种规则作出决策,随时准备根据接收到的新信息修改自身的行为规则,故而每一个对象不能独立的看待,这正符合了中医学的整体观。
3运用面向对象程序设计进行中医学的计算机仿真
①面向对象方法与中医学具有相似的思维方式
假使我们想用传统的面向过程的方法来完成中医学理论的计算机仿真,不仅是一件难以想象的事,而且是不可能的事,对计算机发出人体生理、病理等过程的每一步指令,既使是在分析还原思维方式指导下对人体结构分解得极细,对人体生化过程了解得极为透彻的西医学也无能为力,更何况中医学本身就只重整体,不重结构。而面向对象方法,因其与中医学在思维方式上有惊人的相似之处,使之运用于中医学成为可能,成为对中医学进行计算机仿真的基础。其相似性体现在中医学的整体观与黑箱方法和OOP中的对象的特性及其信息交换上。可以将上文中面向对象方法学的方程式用下图表示:而这正是黑箱方法的图形表达。黑箱方法典型地表现在中医学的藏象学说中。藏象学说是关于人体脏腑功能的学说。古人虽然知道“八尺之士,可以剖而视之。”(《灵枢·胀论》)但又认为“藏府之在胸胁腹里之内,若匣匮之藏禁器也。”(同上)更重要的是,基于不同于西方的思维方式,中国古代对于整体性和运动性的强调,使得中医学未从解剖入手,分析人体的结构、成分,而是以极简单的解剖为基础,构造出了以象为内容的有机的学术体系。由“藏象”之名可知,中医是以现之于外的象来把握藏之于内的脏的,即“执其见功处见其形”,即黑箱方法。对此《灵枢·顺气一是分为四时》中论述道:“内外相袭,若鼓之应桴,响之应声,影之似形。”例如《素问·六节藏象论》对心的描述是这样的:“心者,生之本,神之变也;其华在面,其充在血脉,为阳中之太阳,通于夏气。”其它四脏与此相仿。由此可以看出,这里的心己不是解剖学中的有一定形态结构之心,而是一系列相关的生命活动的表现在人脑中形成的综合的象。它不具有实体性,却正好可以作为面向对象方法学中的一个对象来看待。推而广之,中医学中的其它概念,如气、血、津液、精、神、经络等,都可以作为一个个对象,对象之间通过信息的交换,相互密切联系,从而形成一个复杂系统,中医学的计算机仿真便可由此开始。
②中医学的计算机仿真应用前景
用计算机仿真学对中医学中的概念、现象、原理、机制等进行模拟,可以建立各种模型,服务于教学、科研、临床。主要可以用于建设生理模型、病证模型、实验模型。
生理模型:在中医学中五脏、六腑、气、血、津、液、经络、筋、脉、骨、髓等,都可以构成相对独立的对象,赋予每个对象适当的属性,对象具有智能性与自适应性,它们可以按照各自的属性作出决策,并随时准备根据接收到的新信息修改自身的行为规则,它们之间通过信息交换互相联系,构成一个复杂系统,这一复杂系统即人体。在此基础上很容易就可以建立人体的病理模型。下图是生理模型的简单图示,实际中的生理模型还要复杂的多。
(图略)
病证模型:中医学中的证是非常复杂的,也是独具特色的。辨证论治非常灵活,以哮喘为例,说明中医病证模型的组建。哮喘发病,总因本虚标实,其病位虽在肺,但与脾、肾密切相关,先天不足后天失养造成肺、脾、肾不足是哮喘发病的内在原因。正气不足就易感外邪,感邪而产生风、寒、热、痰、湿、瘀、气等诸多病理因素,一些病理因素作用于肺,是发生哮喘的外在原因。如下图所示,运用OOP将各种因素的特性封装起来,作为对象,它们之间相互联系,就可以建造哮喘的病证模型,输入相应的信息,就可以得出诸如肺脾两虚,寒痰蕴肺;肺肾不足,肾不纳气;风寒外束,痰热内阻等证型,有力地指导临床实践。
(图略)
实验模型:正如在汽车研制中需要的碰撞实验可以用计算机模拟代替,中医学中的实验也可以用计算机模拟来代替。这样就可以提高效率,降低消耗。比如可以建立中药模型库、方剂模型库、病因模型库、生理模型库、病证模型库,如下图所示,中药模型库和方剂模型库作用于病证模型库,就可以模拟出对于某种病证的最佳治疗方案,选择最佳药物及最佳方剂。病因模型库作用于生理模型库,生理就可以模拟出在某些致病因素下,人体生理的变化,疾病的发生、发展、及转归。这些都可以为中医学研究工作提供有力的参考。
(图略)
4小结
运用面向对象程序设计进行中医学的计算机仿真,不仅可以提高教学、科研、临床的生产力,节省大量的人力、物力、财力,而且可以屏弃简单系统实验室的不足,为中医学提供实验的空间。十六世纪,伽利略通过引入可重复的受控实验室的思想,开创了近代科学的实践,目前这一思想成为判定延续几千年的中医学是否科学的依据,而这一思想的中心在于能够实施一些实验,以检验关于待研究现象的假说。运用面向对象程序设计进行中医学的计算机仿真不仅可以对中医学概念、理论、方法的客观性、有效性、实用性进行证实,而且有前瞻性和预测性。
引入计算机仿真技术是中医学科研的大势所趋,也是目前将当代最前沿的信息技术与最古老的中医学相结合的最佳契机,这里有大量的工作尚待有志者去完成。
参考文献:
[1][德]克劳斯·迈因策尔 著,曾国屏 译.复杂性中的思维.北京:中央编译出版社,2000:111.
作者简介:
李婷(1972-),女,山西人。1993年于南京大学获理学学士学位,1996年于上海中医药大学获中医学第二学士学位,现为南京中医药大学在读硕士研究生。主要从事中医基础理论、中医学方法论、方剂学的研究。
陈晓东(1972-),男,黑龙江人。1993年于南京大学获理学学士学位,1996年于上海中医药大学获中医学第二学士学位,2002年于南京中医药大学获医学硕士学位。
Exploration of Computer Emulation in TCM Theory
CHEN Xiao-dong,LI Ting
(Nanjing University of Traditional Chinese Medicine,Nanjing210029,China)
ABSTRACT:Modern computer emulation technology has offered TCM a laboratory for research on complex system,althrough the enormous complicated system of TCM difficult to be confirmed in a simple system laboratory.Due to the similar thoughtway with TCM,Object Oriented Programming can be used to construct models of TCM physiology,syndrome and experimentation,which contribute to the research of TCM theory and have prediction capability as well.
KEY WORDS:computer emulation; complex system; Traditional Chinese Medicine; Object Oriented Programming