讀古今文學網 > 心智社會:從細胞到人工智能,人類思維的優雅解讀 > 7.3 猜謎原則 >

7.3 猜謎原則

許多人認為機器只會做它們的程序中設定的事,因此不會具有創造性和原創力。麻煩之處在於,這一論點的前提假設正是它意圖展示的內容:你無法為機器設定一個具有創造性的程序!事實上,開發一款程序讓計算機去做一些任何程序員都無法預知的不同的事,容易的程度會讓人感到驚訝。這件事之所以有可能,源於我們所稱的「猜謎原則」。

猜謎原則(puzzle principle) :我們可以為一台計算機設定程序,讓它通過試錯來解決任何問題,而我們不需要提前知道解決辦法。

所謂「試錯」,就是開發程序讓機器可以在某個可能的範圍內系統地產生所有可能的結構。舉例而言,假定你想有一台機器人可以在一條河上建造一座橋。最高效的編程方式就是執行一個特定的程序,先提前計劃好,然後把木板和釘子精確地安置在特定的位置。當然,除非已經知道如何建造一座橋,否則你無法寫出這樣的程序。但想想下面這個備選方案,它有時被稱為生成與測試法。它需要編寫兩部分程序。

生成(generate) :第一道程序就是一個接一個地生成木板和釘子所有可能的安排。開始時你可能會覺得這樣的程序很難寫,但它其實驚人地簡單,只要你明白每種安排都不需要有什麼道理就行!

測試(test) :程序的第二部分就是檢查每種安排,看看問題是否得到了解決。如果目標是建造一座大壩,測試就是檢查它有沒有攔住水流。如果目標是建造一座橋,測試就是看它是否跨過了河流。

這種可能性讓我們重新檢查了所有關於智能和創造性的舊理念,因為它表明,至少從原則上,只要我們可以識別出解決方案,那些問題就都可以讓機器來解決。然而,這並不太切實際。想想看,也許有上千種方法可以把兩塊板子連接在一起,要是把四塊板子釘在一起,估計有十幾億種方法。要利用猜謎原則製造出可用的橋樑,所需的時間可能長得難以想像。但是從哲學上來說,這還是有幫助的,它消除了創造性在我們心中的神秘感,取而代之的是關於程序效率的更加具體而細緻的問題。我們的造橋機器存在的主要問題就是生成器與測試之間缺乏聯繫。如果沒有某種朝向目標的進展,那麼比無思維的程序也好不到哪去。