第六回 黑旋風大鬧鱷魚潭


應憐屐齒印蒼苔,小扣柴扉九不開;
 春色滿園關不住,一枝紅杏出牆來。」

上回說到嚴密設類電腦語言裡,白思嘉美艷絕倫、愛達妹妹青出於藍、C女士別有風韻,眾美女把電腦專家迷得暈陶陶的。但目前在工商界實用方面,仍以商用程式語言「刻薄」、工程及科學程式語言「佛傳」為主。這是學院派和實務派的分別。然而學院派和實務派對立的現象,並不是件壞事。道家有句話說得好:「不笑不為道,大笑為大道。」學院裡的蛋頭(Egg Head)學者提出新的學說理論,每每被人譏笑為不切實際。但是隔不了多少年,不切實際的學說理論往往就變得實際可行了。這種現象,在各行各業裡都會看到,尤其以電腦科學界最為顯著。這是因為電腦科學的進步,和工業技術的進步息息相關─行話叫做「技術帶頭」(Technology driven)。技術進步了,原先認為行不通的理論就突然行得通,原先認為不必做的研究也突然值得做了。例如嚴密設類電腦語言、關係資料庫理論、人工智能學等,原先都祇有少數學者專家研究,現在都達到實際應用的階段。所以我們要發展電腦科學和資訊科學,一方面當然要追求技術突破,一力面也不能放棄理論研究,兩者不可偏廢。

閒話少說,言歸正傳。且說電腦程式語言的兩大陣營,一方面有阿哥、白思嘉、愛達、C等嚴密設類語言,一方面是刻薄、佛傳程式語言,雙方互爭雄長,各有千秋;正鬥得難解難分之際,突然在兩大陣營之問,破鑼一聲巨響,殺出了個程咬金來。

列位看官,您道殺出來的程咬金是誰?為什麼會震動電腦程式語言的兩大陣營,形成一股第三勢力的黑旋風?且聽我慢慢道來。

原來那些老程式語言如刻薄、佛傳等,既然有傅統力量支持,很久以來就屬於「正統」的地位。新生代的白思嘉、愛達、C等程式語言,屬於「黨外」的地位,一方面要爭正統,一方面彼此間也要互爭,既團結又鬥爭,所以局勢變得撲朔迷離。新生代程式語言的龍頭大哥,是阿哥(ALGOL)程式語言,可說代表新生代程式語言的主流派。既然有主流派,就必然有反主流派。反主流派的程式語言就是人工智能程式語言。最近發展的趨勢,反主流派的力量越來越強,令主流派暗暗心驚,不敢不重視異軍突起的人工智能程式語言。

人工智能程式語言,過去是不入流的程式語言,祇有少數研究工作者懂得。在第三回「碟奧絲毒設相思局」裡,提到過碟奧絲的「有事忙」(event driven)精神。有事忙精神也是人工智能學的重要觀念。咱們中國人最最了解有事忙精神。幾千年的官僚政治,「無為而治」、「垂拱而天下治」的哲學理想,都充分發揮了有事忙精神。有事忙就是有事則忙,但最好是天下太平無事。無事則無為,無為則無不為,無不為則天下治矣!

且住。若真個天下太平無事,那麼今兒說書的又說些什麼?列位看官不必心慌,莫非定律說得好:「天下事莫非倒楣事。」即使再太平的歲月,總不能年年風調雨順。有事忙精神,就是說萬一出了事情,馬上兵來將擋、水來土掩一番,好大事化小、小事化無。

因此,有事忙的官兒,抱元守虛,以「靜」制「動」──本身是「靜」(passive)的,有了「事」(event)才動上一「動」(active)。以靜制動之道,就是人工智能學裡所說的「法則」(rule)。

在我們每個人日常生活裡,或多或少都會用到有事忙的法則。且舉兩個例子:

(1)「如果」孩子哭「則」餵奶給他吃。
(2)「如果」電話鈴響「則」拿起電話筒聽。

「孩子哭」、「電話鈴響」都是可能發生的事件。這些事件,不一定會發生,但萬一發生了,必須有因應之道。「餵奶」、「聽電話」,就是處理事件所採取的行動。

人間世和人間事都是複雜的,許多事情可能同時發生。如果孩子哭了,同時電話鈴也響了,您如何處理?這時,可能就必須同時採取兩項因應行動。

一樁事情,也可能引發許多不同的因應行動。例如做母親的,可能除了以上(1)和(2)法則之外,還有如下的法則:

(3)「如果」孩子哭「則」給他換尿布。

這樣,「孩子哭」的事件,可能引發「餵奶」、「換尿布」兩項行動。

人工智能學,簡單說來,就是研究如何摸擬人間世和人間事的學科。因比,人工智能程式語言包含了許多法則,法則語句結構的一般形式是:

如果「事件」則「行動」。

事件發生時,就會引發各種法則的因應行動。麻省理工學院的人工智能學權威明斯基教授(Prof. Minsky),舉過這樣的例子來形容:「將一塊肥肉扔進鱷魚潭,所有的鱷魚都會游過來搶奪這塊肥肉。」肥肉是發生的事件,鱷魚就是引發行動的法則。所以,人工智能程式語言彷彿在電腦中發掘了這個鱷魚潭。鱷魚潭本來風平浪靜,但一旦有事件發生,潭裡所有的鱷魚都會行動!

人工智能程式語言,最通用的本是「李絲普」(LlSP)程式語言。但日本在第五代電腦研究計畫中,決定採用另一種人工智能程式語言,名喚「破鑼」(PROLOG),這一來引起人工智能學界的軒然巨波。美國的人工智能學者多半主張用「李絲普」,日本卻捨「李絲普」不用,採用歐洲發展出來的「破鑼」。鑼聲一響,美國人自然覺得面上無光,惱羞成怒。「李絲普」和「破鑼」究竟孰優孰劣的爭辯,成為人工智能學的一樁公案,至今還未塵埃落地。

「破鑼」的一大長處,是它適合「機器推理」(Mechanical Inference)的需要。「破鑼」的缺點,是它不能夠導出所有「一度繫詞邏輯」(First Order Logic)的邏輯結論,因此破鑼是「不完整」(incomplete)的邏輯系統(所以譯為「破鑼」)。既然是面破鑼,為什麼歐洲人和日本人還堅持用它呢?乃是因為破鑼有實用上的價值。如果我們要造下一代智慧型的電腦,就必須讓電腦具有自動推理的能力。因此破鑼雖是面破鑼,用處卻不小呢。現在許多歐美日的人工智能研究中心,都在研究所謂的「專家系統」(expert system),有的能夠自動做醫療診斷,有的能夠自動分析油田震波探測資料。這些專家系統是末來的智能型電腦的前身。要設計具有相當智慧的機器人,需要有許多這樣的專家系統。人工智能程式語言,如李絲普、破鑼等,就是設計這些專家系統的工具。

工欲善其事,必先利其器。有了人工智能程式語言,能夠「以靜制動,有事才忙」,專家系統的設計,自然水到渠成。怎見得?有詩為證:

「昨夜江邊春水生,艨艟臣艦一毛輕;
 向來枉費推移力,此日中流自在行。」

然而專家系統真能解決工商界的管理決策問題嗎?專家知識和常識又有何異同?欲知後事如何?且看下回分解。


GOTO PREVIOUS PAGE STOP GOTO NEXT PAGE
Page created: Fall, 1994.
Last update: August 10, 1997.
Version 2.0

This page was made by Alex Tsai.

You may email any suggestions to: changsk@ksi.edu