用7種演算法讀懂《傷寒論》,經方學習也可以很單純

用7種演算法讀懂《傷寒論》,經方學習也可以很單純

·首次發表 ·最後更新

本文目錄

千年以來中醫學習者都認為《傷寒雜病論》經方藥簡力專,效果神妙,是後代一切中藥方劑的基礎,但是卻苦於不知道如何學習?

而今,運用現代各種演算法技術,層層推演破解經方組成,清楚看到經方的分類群聚現象,有興趣者在推演的過程中會感到拍案叫絕,分享給中醫學習者參考。

學中藥必須先從《傷寒雜病論》學起

許多人都認為學中醫就等於是中藥,那如果要學中藥的話,要從哪裡開始學呢?答案很簡單,就是一切重要方劑的源頭《傷寒雜病論》及中藥單方書籍《神農本草經》。

《傷寒雜病論》被認為是中醫經典,書上所記載的中藥被稱為「經方」,從古至今大家對經方的評價就是「藥簡力專」。

有了這本書的源頭,可以說就是基礎方(母方)的創造,例如:桂枝湯、麻黃湯、小柴胡湯、承氣湯、理中湯、四逆湯…等等,這些中藥方劑本身就是一個「平台」。

後世無以計數的方子,都是從這幾個母方加減化裁而來,這就像人類發明了「主詞+動詞+受詞」的基本句型後,才有可能產生無窮無盡的句子。《傷寒雜病論》就是中藥方劑學的「基本文法書」。

有了源頭,後續的發展脈絡就非常清晰了。你幾乎可以把任何一個後世名方,都追溯回《傷寒雜病論》的某個母方或配伍邏輯。

學中藥必須先從《傷寒雜病論》學起
學中藥必須先從《傷寒雜病論》學起

例如,藥王孫思邈在《千金要方》和《千金翼方》中,將《傷寒雜病論》的方劑全盤吸收,並在此基礎上進行擴充。他著名的「溫脾湯」,大黃、附子、乾薑同用,完全是仲景大黃附子湯的變革與延伸。

宋代官方編纂的《太平惠民和劑局方》,將許多傷寒方提煉成更固定的成藥。比如廣為人知的「逍遙散」,可以清楚看到是從仲景當歸芍藥散、小柴胡湯等方中脫胎而來。

金元四大家的「攻下派」,其核心方劑三聖散、禹功散,思維直承仲景的吐法、下法,只是用藥更猛烈。

而「補土派」的李東垣,其甘溫除熱的名方補中益氣湯,本質上是從仲景小建中湯、黃耆建中湯的理路中化出,是對「建中」思想的極致發揮。

到了明清,溫病學派崛起,看似另立山頭,實則是補《傷寒雜病論》之未備。銀翹散可以看作是對麻黃湯(辛溫解表)在衛分證上的補充。

所以,如果把《傷寒雜病論》學好,就具備了學習中藥的完整核心基礎。

運用現代演算法,破解《傷寒雜病論》藥方組成

許多人一輩子學習《傷寒雜病論》,都在背誦方劑,覺得很難懂。

事實上,《傷寒雜病論》的這些母方,運用現代的程式演算法技術,還可以再繼續破解拆解,找出更核心的秘密!以下運用幾種演算法,分述如下:

1. 藥物頻率分析

第一種演算法最簡單,用最簡單的數學,找出全體方劑中最常用的藥物。

2026年雲端中醫將常見的228 首方劑(經方)進行演算法分析,表面上看起來很多,但組成結構確實高度集中。

資料中共整理出 156 種藥物,每方平均約 4.84 味藥,中位數只有 4 味藥。

也就是說,《傷寒雜病論》的經方,不是靠大量藥物堆疊,而是靠少數核心藥物的不同組合、加減與方向性變化。最核心的藥物整理在下圖:

找出《傷寒雜病論》經方中最常用的中藥
找出《傷寒雜病論》經方中最常用的中藥

所以第一個大結論是:經方的底層骨架,是以「桂枝湯」(甘草、桂枝、生薑、大棗、白芍)這個調和營衛、調中、緩急的核心系統。

2. 藥對共現分析

第二種演算法是「藥對」共現分析,是計算兩味藥一起出現的頻率。

所謂的「藥對」,是一組中藥組成。千年以來古人都發現,《傷寒雜病論》的經方是用一組一組的中藥所組成,這就是所謂的「藥對」。

以「出現次數」來看,最強藥對是「桂枝+甘草」、「大棗+甘草 」、「甘草+生薑」 ...等等。

演算法可以再設定「最小共現方數」,越大代表更穩定、更常一起出現的藥對。

藥對共現分析
藥對共現分析

若將「最小共現方數」設定為2,可以看到很複雜的網路圖。若設定為30,就會清楚看到「桂枝湯」。

這表示經方最大的一個底層母系統就是:桂枝、甘草、生薑、大棗、白芍,也就是桂枝湯系統。它不是單一方,而像是一個「組方語法」。

3. Jaccard 相似度

第三個演算法,計算Jaccard 相似度,這是要分析「藥對」或「方劑」之間的重疊程度。

第二種演算法「共現次數」專注的是「兩味藥一起出現了幾次?」Jaccard 演算法專注的是:「類似藥對的使用場景重疊比例有多高?」

例如「桂枝+甘草」這個藥對,共現次數非常高,但是「甘草」這味藥出現範圍太廣,所以 Jaccard 演算法不一定最高。

運用 Jaccard 演算法,就可以看出最常見的方劑骨架。以「桂枝湯」骨架為例,這個骨架可以組成「桂枝加芍藥湯」、「桂枝加桂湯」、「桂枝加葛根湯」、「桂枝加附子湯」、「小建中湯」、「黃耆建中湯」、「當歸建中湯」。

Jaccard 相似度計算使用場景重疊比例
Jaccard 相似度計算使用場景重疊比例

Jaccard 演算法的價值是,先找出方劑的共同骨架,再用比例向量判斷它們為什麼變成不同方劑。

4.Lift 關聯強度

若比較起上面,Lift 藥對演算法具有格外的意義,這個演算法的目的,是找出不是單純常見,而是「特別容易綁在一起」的藥對。

這種演算法認為,出現次數高不一定代表關係專一,Lift數值高,代表兩味藥不是因為都很常見才碰到,而是它們之間有很強的配對傾向。

Lift 藥對演算法找出「特別容易綁在一起」的藥對
Lift 藥對演算法找出「特別容易綁在一起」的藥對

這裡可以看到,經方裡很多藥對具有非常明確的「功能模組」意義,只要特別學習起來,在特定的機會就可以運用。

5. 藥物網路分析 / 社群偵測

古今有一些經方家著書(例如徐靈胎的《傷寒論類方》),將傷寒論的方劑分類,成為「類方」,這就是一種「藥物網路社群分析」。

而現代運用演算法,不是先用中醫理論去指定哪些藥屬於哪一類,而是把經方資料轉成一張藥物關係網路,讓演算法自己根據藥物共現關係,把彼此關係緊密的藥分成不同群組。

這種演算法,把藥物視為節點,藥物共現視為邊,找出自然形成的藥物模組。這裡的「自然分群」比較像是,經方資料自己浮現出來的組方結構。

若設定藥物網路自然分成8-20群模組,會產生與古代經方家類似的分類結果。

經方藥物網路分析社群分析
經方藥物網路分析社群分析

從這些結果發現,資料分析浮現出來的模組,和傳統方義高度吻合,這完美支持了,經方配伍具有穩定的內在結構。

6. PageRank / 橋接中心性

這個演算法可以找出不只是很常用,而且在整個經方網路中具有核心或橋接作用的藥,這可以是重要中藥相連的程度。

由這個演算法,可以找出像甘草、桂枝、生薑、大棗、半夏、人參、茯苓這些藥,常常不只屬於一個病機,它們是「橋接藥」。

例如:甘草會出現在「桂枝湯系」、「白虎湯系」、「麻黃湯系」、「四逆湯系」、「瀉心湯系」、「承氣湯系」、「咳喘方」、「建中方」,所以甘草在網路裡會有很高的中心性。

在經方的世界裡,理解藥物不是依照功效,所以甘草不是簡單歸為「補氣藥」,桂枝也不是只歸為「解表藥」,半夏也不是只歸為「化痰藥」。

關鍵是這些藥在經方裡實際上怎麼被一起使用,在經方網路裡,一味藥的意義來自它常常跟誰一起出現。

所以真正有意義的是:經方組成實際上是形成了哪些藥物團塊?這就不會葬身在中藥方劑大海中。

7. NMF 非負矩陣分解主題模型

這個演算法,把經方拆成幾個潛在「藥物主題」或「方義模組」,最後效果與「藥物網路分析社群」類似,也可以分類出很多類方,有興趣的人可自行研究,甚至其他演算法如 K-Means。

除了以上提出7種演算法,還有十幾種更細部的演算方法,可以更進一步拆解古人運用經方的原理。我們可以很確定的說,經方絕對是一套非常科學且邏輯化的開藥系統,不是亂槍打鳥!

藥對破解經方的運作原理

傳統上,大家都認為《傷寒論》經方藥簡力專,其治病的原理,至今與「經絡」一樣,依然是一個謎!

既然傷寒論的經方這麼有效又快速,過去千年來中醫師前仆後繼,花費大量時間去想去研究其運作的原理,最後寫出來的理論,為什麼大家還是看不懂?

以當代經方大師 李陽波為例,他在《傷寒論壇講記》中,將每個經方畫成「藥圖」,以桂枝湯為例,就畫成下圖,多數人也是難以理解。

桂枝湯藥圖,出自李陽波《傷寒論壇講記》​​
桂枝湯藥圖,出自李陽波《傷寒論壇講記》​​

現代透過以上提出的各種演算法技術,就可以清楚看到,要學習傷寒論,首先就是要學習「藥對」,之後再來學習方劑,這就會非常簡單且清楚。

而如果要學習《傷寒雜病論》,必須學習的藥對頂多就是20-40種,所以經方沒有大家想像中的那麼複雜,後續還有很多細節,留待未來的文章繼續探討。

2026年以後的中醫,如果再用傳統抽象的思維來理解的話,中醫永遠沒辦法突破,永遠都會是老舊的思維!在可見的未來,雲端中醫將會不斷運用各種現代演算法來破解中醫。

討論留言

載入中...