一句话总结就是拿程序员来类比中医。
虚实结合其实很符合已有的隐马尔科夫模型,都是基于一定的概率模型,其中的实和虚都是一定的选择性表达的状态,可以视为不同的序列,由于概率分布的原因,会呈现出一定的虚实杂合。就我个人的观点(不一定正确),中医中很多对立的概念其实就是一种原始的朴素抽象,存在和不存在,这种想法可以认为是很底层的(甚至和量子物理的一些思想如泡利不相容原理有一定的相通你敢信?),但问题是要靠这种底层的思想来整体解释人体这样一个宏观的网络系统,就如同用底层的机器语言来编程(机器—汇编—高级语言,越往后抽象程度越高,越接近自然语言,也就更用户友好),难度可想而知。因此,结合已有的编程发展历史,我们认为可以在这种底层思想的基础上不断遍历,形成不同层次的模块(各个流派的思想),最终能够使得人们理解。当然,更大的野心是如果这条理解方式正确,那就能够指引其他人在这条道路上继续前进,毕竟个人认为中医治病就和写代码一样,对外人来说都是黑箱,但内部具有一定的逻辑,不同的是代码可以全球通用,而中医也应该有这种潜力。
是的,我打算使用计算机结构体系来试图理解中医(当然,是偏软件方面,硬件方面我了解不多),借助已有的工具来解释可以说更简单也更有意义。也就是说,我把中医最底层的概念,阴阳,视为机器码1/0,其代表的是人体这个复杂的高维结构的理想情况的降维,即如同逻辑电路,在这个层次进行一定的与或非运算可以不断往上遍历形成更加复杂的结构,最简单的例子就是放大器。这种简单材料的有序组合能够涌现出高维的性质,可能就是还原论的精华,能够不断逼近不可描述的整体论。这种思维还体现于程序设计语言能够以有限的顺序分支循环结构来描述一切算法。因此我们的初步结论就是底层能够通过其自身的组合即遍历来形成高维结构,我们需要把握其遍历的方向就可以形成和我们现实贴近的高维结构,然后就可以根据这个模型的各种知识来推测现实中可能发生的情况。
于是在阴阳的基础上有了进一步的分化,即五行,这是往上遍历不断升维,如同机器—汇编—高级语言的发展过程。在这个层次,就能够和比较具象的对象构建一定的联系了:心火肝木脾土肺金肾水,可以说五行思想已经有一定的面向对象的苗头了。相比于之前更为底层的很难让人理解的阴阳(1/0代码),这已经有很大的飞跃,能够让我们构建起比较贴近人类思维模式的关系(参见一直使用机器语言编程的程序员使用汇编语言后的泪流满面),毕竟我们还是比较相信眼见为实,各种底层的联系一定要摆到台面上可以观测到我们才承认其存在。
但是要注意,作为一种抽象结构,其要和现实结构建立确定的联系还是有很大困难的,因为现实结构是多层次的综合作用的结果,这也是为什么古代中医会有各种在我们现代人看来奇奇怪怪的理论,如心为君主之官(我们必须考虑当时时代的逻辑于现在的不同,文化的影响是最底层的)。但作为一种抽象的结构已经是相对于阴阳思想的进步了,我们后人也是在这个基础上继续发展的。不信的话你试试拿机器语言编程,绝对会让你哭。当然,这种想法的提出不是偶然的,而是经过长期的医疗实践经验的积累(不断的试错,为各种实验的牺牲者默哀)所不断深化的对疾病的认识。这个发展的历程是很曲折的,与当时的各种学科的理论发展的关系是离不开的,当时的哲学就如同如今的数学指导科学一样指导中医的发展。
这种不断去抽象化的升维还在继续,各种藏象、经络等等学说就如同我们的高级语言,提取出一套高维的可操作的模块,做到各种变量、函数的定义,一定的表达式的基本运算,各种顺序分支循环结构的执行,不同模块的封装和调用等等。
代码的出现是为了更好地解决问题,这种问题解决导向的思路是我们的医学所一直提倡的,那就是治病。在这些抽象层次的基础上,不同的医生采取的不同临床思路乃至最终的各种流派如火神派、滋阴派等等就是编写不同的代码来解决相同的问题,就如同现在的不同程序员有不同的编程风格,但最终的目的都是一致的。到了这个层次,我们可以把每一次的诊治过程抽象化为一定代码编写(不同医生有不同诊治思路,可能使用不同的药物之类的)来解决特定问题的。当然,我们不可能每看一个病人就重新思考遗传,而是会调用我们之前已有的经验(不管是自己的还是别人的临床经验)来做出一定的决策。于是我们就可以把不同的经验理解为一个个库的编写,用到时就直接调用,不用重新编写一条新的程序。在一定程度,医生越老越吃香就是由于经验的积累使得其内建的库很多,能够得心应手地应付各种复杂的情况,而且这种快速诊断的收敛也是因为之前已经遍历过比较多的情况。因此,如果能够模仿如今的各种开源社区的构建的思路,能够把各种经验编写的库上传,每一个人都可以调用,那么年轻医生和老医生的差别就可以在一定程度上减少了,那么理论上就可以有更多的优秀的医生了。当然这属于脑洞大开,经验不是这么好传递的,就如同我们编程时习惯的各种调用传递,还是需要很刻苦地学习。
有了以上的学说(封装的思想,结构化的思想)作为基础,我们接下来就该探讨具体的疾病诊治了。根据傅里叶级数给我们的启示:一对线性无关的基底可以通过其选择性表达即线性组合来遍历空间的每一点。我们就这样把复杂的疾病抽象表达为高维空间的一组数据,我们的诊断就是寻找到这些疾病的本征,然后加以处理如封闭处理,其最终的目的是使得这些数据能够回到一定范围,即我们认为的健康状态。这就是我们目前认为的输入(各种检查,望闻问切等等)--计算—输出(特定的药物处理等等)中一直被视为黑箱的计算模块。
我们可以使用这些学说作为一种基底,构建其与现实疾病的对应,然后在这个基础上施加处理。即是说,中医在掌握各种学说即编程语言后,要切实地解决问题,需要选择性地组合形成一定的逻辑结构,对应于复杂的程序,然后去进行运算。这个过程需要一定的算法,不同的诊治思路就是不同的算法。可以说,本质上这些临床思路(算法)没有很大的差别,只要能够得出最终的输出,各种耗费的资源都是可以容忍的。问题就是,现实中,这些问题不一定是可解的,即我们很难做出停机的判断。于是我们就可以看到,疗法往往走在理论前面,而疗法就对应于我们的程序,这也是我们应用这些理论的最终目的。
于是根据局部最优逼近整体最优的思路,我们可以以这些基本的理论来选择性组合(如同编程里的各种数据结构、运算符等等),根据一定的思想(各种算法),形成一定的高维结构(对应于程序),与疾病形成一定的对应关系,然后寻找特定的方法来治疗。
如果以这个思路来理解的话,即把名医视为一名好的程序员,可能就在一定程度上解释为什么名医总是精通多门。不仅仅是以前的分科不够细化,还可能因为在这个层次的程序员看来,一切的程序的是1/0码,站得高才能望得远。
附录1:
其实人文这东西,只能说,我们还远远不到要考虑这东西的层次。毕竟我目前的浅显观点就是认为其是一种安慰手段,是我们没有其他办法的无奈之举。我尤其憎恨这种无力感,能力不够就是能力不够,跟人体和疾病的复杂情况没有关系,真正的有能力的人会从这些复杂情况中找到最本征的路径,然后加以处理,并且能够起到一定的作用(可以预见,这些人很少)。当然还是有很多情况就是这样,真的不是人们努力就能有收获,对于群体层次的概率分布能够施加的影响很小,我只是讨厌现在人们还没有尽到最大努力就已经自我感动满足了。
附录2:
病机、证候等等是一种特征识别的算法思想,根据经验在这种高维层次进行运算。不同的辩证形成的组合对应于不同的基本,能够以模式化的处理来针对个体用药。当然,这种分型方法还是比较粗糙的,我们理论上能够构建更多的识别对象,形成更加准确的聚类分析。但是这对计算资源的要求很高,对于中医只能以大脑来运行这些“代码”的情况,势必只能做一定的主成分分析,即选择最关键的特征(八纲辨证:阴阳表里寒热虚实,作为一组线性无关的基底,能够通过其线性组合来与足够多的基本建立相关关系)来识别各种疾病然后进行一定的处理。或许以这个标准,越高明的医生能够考虑越多的变量,那么借助计算机科学的发展,理论上我们应该能够通过对更多因素的考虑来不断逼近乃至超越这些古代的医学家。
所谓的证就是一种高维层次的运算对象,是基于症状而高于症状的结构,在这个层次的运算能够忽略底层的各种复杂症状的相互作用。我认为,这种高度抽象的思维是一些古代思想到现在也不过时的根本。在这个维度我们理解看似矛盾的同病异治和异病同治就很清楚了,这也是当今的精准医学所提倡的个体化诊疗。这我倾向于使用博弈论的纳什均衡来理解,这是一种不动点,是高维的结构,理论上能够对不动点施加影响就能够解决低维层次的各种疾病的症状。因此,对于中医是如何找到真正不动点的高维结构,其具体的算法是如何达成的,我一直抱有敬意。而现代医学也不逊色,各种症状的原因寻找已经深入到细胞基因分子层次,也是一种高维模式的识别。可能各种复杂的医学术语就是中医的具体运算机制,这是在自然语言层次进行运算,如各种脾虚之类的就是在这个高维层次运算,虽然我认为可能是经验指导这些对象的运算的成分居多。其底层的机制可以通过这些聚类分析来构建一定的相关性。
这种抽象的描述体现于中医的各个方面,如各种病因病机等等。我们要想真正地应用,需要重新回到底层,然后再一路遍历升维。就如同写文章,我总得学会写字吧,总得慢慢学会文章的架构安排等等吧。当然,我个人觉得中医还是挺用户不友好的,总是拿各种自然现象(如风性轻扬开泄)作为类比,理解是容易了,但进一步的发展就很考验了。还是数学好,可能这与我的思维习惯相符。
附录3:
方剂的君臣佐使的思路对应于通过一定的药物组合来起到最优的疗效,根据傅里叶级数给我们的启示:一对线性无关的基底可以通过其选择性表达即线性组合来遍历空间的每一点,我们有一定把握可以这样说:很多疾病都可以通过一定的药物组合来起到一定的治疗作用,我们确信存在这样的一组最佳配比。这种信息,可以表示为一定的序列,在理论上是必然存在的,我们只是需要知道是哪些药物和其相对比例,这就是一个最优解求解的问题。
毕竟我们不满足于根据经验所做出的简单的加加减减的处理,我们认为积累到这些经验的时间太长以至于不可接受。比如我们之前做的westernblot实验,我们需要首先调齐内参。通过几次跑的条带的灰度分析能够和我们加的内参浓度构建一定的对应关系,然后以一前一后加样浓度相差较大的情况作为基底,根据内参浓度与条带灰度具有线性关系的连续性假设,总存在一定的相对比例能够使得内参调齐。而且由于我们的加样精度有限,所以我们的自由度还是挺大的。这是一个很简单的建模问题,能够给我们的调内参提供很大的帮助。当然,我也就停留在这个层次了,只能用已有的软件做灰度分析,然后把数据提取出来做简单的曲线拟合。
根据我们目前的假设,大体的思路还是相通的,重要的是以更高的视角来理解各种变化,如同牛顿-莱布尼茨公式揭示的,低维的复杂运算在高维对象中就不是事。
这种思路可以用于量化,如把中药的药物寒热温凉四性、酸苦甘辛咸五味的性味学说表示为一定的特征,然后做一定的模式识别。如果能够起到作用,我们就承认其是有用的,就如同今日我们对西药的各种有效成分的认同一样。这就避免了各种争论吵来吵去,毕竟一方面这种抽象层次的思考不是所有人都会认可,另一方面也也有助于理论的更新换代,不用再死死地抱着古老的一套不放。而这种可发展的生命力就是中医成为科学的一个契机。毕竟我认为,中医的用药可能蕴含着快速收敛的算法,能够靶定不动点的思想,而这可能是不同于已有的大规模尝试的方法(参见新药的研发),而是通过多边界的使用来不断收缩遍历的范围,最终形成有意义的模式。
附录4:
中医重内科,可能是认为这是本,能够对其的靶定起到良好的相关,因为人体网络有层次的等价转换,可以把这种影响扩散开。
各种阴虚阳虚等等的抽象概念可以以一定的模式来表现,即各种组织的细胞的分布和基因表达网络等等底层的数据。
疾病发生发展和演变我们希望能够以网络的观点来解释,以具体的序列运算为对象,矩阵的乘法作为运算法则,以概率网络的模型来理解。
天人合一是网络具有的层次相似性的性质,因为网络是分形结构。这是各种层次之间相互作用的基础,即相似处可以作为接口。我一直倾向的博弈论的在一些的应用可能就体现于不同层次之间的相互作用,我们打算以矩阵来表示衷心层次,然后以矩阵的乘法来表示其相互作用,因为这是在高维层次进行运算,能够改变其概率矩阵,从而能够在具体的序列表达看到其可能的差别。这就是辨证论治的数学基础,最后能够达成的均衡就对应于现实情况。