從積體電路設計流程的演進看中醫與西醫的差別(一)

開始學中醫之後,很多認識我的朋友,都會說:「你是個學科學的人,對中醫這種不科學的東西,怎麼讀得下去呢?」我心中常常一笑,事實上,對於讀過電機工程,也做過一些研究的我來說,中醫實在是一門跨越時代的先進科學,從她的研究方法,到對人體這個系統的描述,到要去解決的問題,無一不是極為科學的方法。

在這篇文章裡,我想集中火力,專門來討論一個關於「複雜度」(complexity)的問題。同時,基於個人的專業-超大型積體電路的電腦輔助設計(Very Large Scale Integrated Circuit Computer-Aided-Design),我將以此為例,做一個類比,將中醫與西醫的差別用我的話解釋出來。

「複雜度」這門學問,在電機或是電腦科學的領域裡,都是一門研究所以上才會開的課。因此,也很難在一篇文章裡講的清楚。在這裡,最好的方法就是舉個小例子,讓讀者們能夠抓到重點就可以了。

假設我們有一個房間,裡面有兩個人,會互相作用,也許聊得很開心也許會吵架,這樣我們說有兩個「關係(relation)」。所謂的「關係」,可能是客人甲絕對不能遇到客人乙,不然他們就會吵架。客人丁是藍營而客人丙是綠營,他們不能坐在一起,坐在一起就要出事。這些「關係」,身為主人,必須要妥善的處理,才能面面俱到,賓主盡歡。當有三個人時,兩兩取之,有三個關係。當有四個人時,兩兩有關係、三三有關係。依此類推,當人數越多,他們之間能夠形成的關係,呈現一種factorial growth。所以家裡要開party,能約的人數一定有限,當然第一房子要裝得下,第二主人要能控制得住場面。人一多起來,主人會發現場面越來越難控制。從另外一個方面來說,如果邀請來的客人都不會說話,只是乖乖的坐著,那麼房子多大就可以裝進多少客人,主人盡量加人也不會覺得場面太混亂,因為客人之間沒有relation,就很好控制場面。

再說的明確些,假設主人家裡有一個長桌,所有的客人都會被分配到一個位子。如果客人的人數是N,那麼位子的分法,有1 x 2 x 3 x 4 …x (N-1) x N。所以說當有四個人的時候,有1 x 2 x 3 x 4 = 24種排法。為什麼會是這樣呢?我們可以這樣想,當你領著四個人到第一個位子的時候,任何一個人都可以坐下,所以有四種方法。一個人坐下後,你帶著剩下的三個人到第二個位子,因為只有三個人了,所以有三種方法。依此類推,四個人就有了1 x 2 x 3 x 4 = 24種方法來排位子。下面有一個表,說明了從1到25人時排法的數目。

在這麼多的排法中,我們要找到一種排法,使得客人甲不跟客人乙坐在一起,客人丁不跟客人丙坐在一起。或是當客人甲和客人丁坐在一起時不能跟客人戊坐在一起。客人之間所有的「關係」都要滿足,才能賓主盡歡。

複雜度這樣的問題,不是靠增加更多的計算單元就可以解決的,因為複雜度的增加速率,遠大於可增加計算單元的速率。以上面的例子來說,當客人的人數增多時,為了要處理這樣的複雜度,主人可以找更多的人來當主人。可是,因為客人間兩兩、三三、四四、…都可以產生一些關係,這些關係的增長率,是以倍數的方式在增加。下面這個表,大略的意義是一個級數(factorial)的計算。比如說3!就是1 x 2 x 3=6,5!就是1 x 2 x 3 x 4 x 5=120。在我們的例子裡,當有三個客人時,我們說複雜度是6。四個客人時,複雜度是24。當有八個客人時,複雜度已經超過四萬。十個客人時,複雜度已經是三百萬以上。所以說,當有十位客人時,就算你再找九個人來當主人,所面臨的複雜度,已經遠超過三位客人時的複雜度。再換另一個角度來看,假設一個主人可以處理的複雜度是24,他一人招呼四位客人是游刃有餘。如果八位客人來了,理當兩位主人就能招呼。但是八位課人的複雜度轉眼間已經變成四萬,早已遠超過兩位主人可以處理的範圍了。

簡而言之,所謂複雜度的問題,就是要考驗主人在客人一直增加的情況下,如何能夠有效的控制場面,主掌大局,讓每一個客人,都能發揮所長,發揮整體的作用。我們的身體,就是一個這樣的環境,有無數的單元,互相交互作用著,無論中醫或是西醫,都必須要處理這樣的複雜度。

n n!
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5,040
8 40,320
9 362,880
10 3,628,800
11 39,916,800
12 479,001,600
13 6,227,020,800
14 87,178,291,200
15 1,307,674,368,000
20 2,432,902,008,176,640,000
25 15,511,210,043,330,985,984,000,000

回到積體電路的設計。下面是積體電路在1970到2005年間的演變。在這三十年來,從最早的幾千個電晶體,到十億以上的電晶體。這麼大的成長,以一個沒有再繼續演化的人腦而言,是怎麼挑戰這樣大的複雜度的呢?這裡要引入我們的正題,也就是電腦輔助設計。

MooresLawgraph

(未完待續)

by 柱子

10 comments to 從積體電路設計流程的演進看中醫與西醫的差別(一)

  • avatar 阿旺

    喔! 很想再往下看喔。
    有時候會有一個疑問,為什麼倪老師的學生有一大部分都是學電機的。
    我感覺是:這和我們本職學能的養成有關。
    柱子是業界的高手,觀察很深刻。
    期待此文…
    快…繼續寫下去!

  • avatar 小強

    哇,柱子要開課了.
    用的是我熟悉的文字,
    看來分外有趣.
    不過,
    有沒有非電機電子類的朋友,
    看不太懂的?
    要舉手喔.

  • avatar 附子

    好,用工程師的思維來解析中西醫的差別。
    熱切期待中!

  • avatar karajanchang

    我實在做夢也沒想到這也可以寫成一篇文章,太強了

    損友團的國文造誥都很好啊

    一個字,”強“

  • avatar 中和

    柱子師兄的”中醫實在是一門跨越時代的先進科學”,個人深有同感。自從一年半前踏入中醫這條不歸路以來,在學習與練習的過程中,每每一次又一次的接受中醫治病的震撼教育,此神乎奇技、千錘百鍊的醫術,實非當今之科學可比擬。單單一個經絡學說,西方科學就無法解釋了,遑論整套浩瀚的中醫理論。個人認為,唯一能說明的則是,當今科學之落後。或許是因為當今科學,只專注地投入於實踐資本家所追求的目標: 越來越大的經濟泡沫吧!

    期待中…

  • avatar porsche

    >>我們的身體,就是一個這樣的環境,有無數的單元,互相交互作用著,無論中醫或是西醫,都必須要處理這樣的複雜度。

    所以中醫要懂混沌理論。除了要知道生理與病理變化的外顯現象與背後的法則之外,還要知道初始條件設定與過程當中可能產生的變因。

    即使初始條件雷同、甚至一模一樣,但變因只差一點點,演變起來可能結果是天壤之別。

    現代醫學無法、也沒時間去考慮這些問題。保險制度才示決定醫療過程的主要變因。

  • avatar Lisa Liang

    嗯!不是學電機的,是看不太懂.
    但還是很期待下回分曉,會漸入佳境.
    有專業人士用專業的術語來解讀中醫,真是好事,可以讓那些說中醫不科學的人有另一層面的思考.
    加油!

  • avatar 徐克禮

    感謝柱子兄的發文, 非長期待續文.

    我猜中醫與西醫的優勝劣敗將可以用現代的工程學來說明了. 我個人感覺現代醫學立論于很多的假設. 基于這些假設, 研究人員才能推論與設計實驗. 可不巧, 人體的複雜度高的無法想像. 因此大部分實驗室的成果不能成功的運用在人體上.

  • avatar chingyu

    果然屬於天書的範圍

  • avatar 苦力

    多謝柱子提醒, 原來請客也可以用上算法, 下次碰到這些難纏的客人 要是心情好的話就使出linear/non-linear programming 來使和諧最佳化, 要是心情不好便祭出 simulated annealing 來找 local minima, 要是心情再不好, 只好用 genetic algorithm 來看 who’s last man standing…

Leave a Reply

  

  

  

*

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>