【泛哲學】歡迎來到無限旅館 | 哲學新媒體
泛哲學

歡迎來到無限旅館

符號邏輯表達式的可排列性
假設符號邏輯這樣的人工語言最終能表達所有的真理,我們就能有一個可排列的方式去記錄每一件為真的事實,那麼,一個夠強大的AI可能會具有全知這樣的性質。這樣一本類似無限旅館的真理之書,...

您在這裡

難度:
3

在上邏輯的後設理論時,常常會提到無限可數不可數這樣的區分,許多人在接觸到這些概念時常會感到困惑。為了讓課堂的學員們能更加瞭解無限可數這個概念,我發覺討論 Hilbert 提出的無限旅館思想實驗會相當有幫助。讓我們先來看看 Helge Kragh 針對無限旅館所改寫的故事:1  

行駛在一條漆黑的公路上,一位疲勞不堪的駕駛想趕緊找個旅館過夜,但經過的每一間都高掛著「無空房」燈號。這一次他看到了一間無敵大的旅館,儘管也是亮著無空房的標誌,但這位駕駛心想,這偌大的旅館,也許會比較有機會找到一間空房吧。進去一問,想不到旅館職員說:「沒問題,我立馬幫您安排。我們會把在房內的客人往後移一個房號,這樣一號房就可以空出來讓您入住了。」

這位駕駛滿臉問號,想說不是客滿嗎?這麼還有辦法空出一個房間?尤其聽到這位職員說:

「歡迎來到無限旅館

每個房間都客滿了 (每個房間都客滿了)

但仍總是有空房。

是的,叫做無限的旅館有一狗票的房間

把他們移到樓下去 (把他們移到樓下去)

以空出更多房間。」

讀者們此時腦中是否有響起老鷹合唱團的加州旅館旋律呢?不知大家腦補的是電吉他版還是如我一般是木吉他版?

接下來,我會開始介紹無限旅館如何營運,以及說明這為何和邏輯的後設理論有關聯。

無限旅館的營運機制

如我們以上所看到,相信很多人一開始也跟故事中的駕駛一樣感到困惑,一個說客滿的旅館為何還可以把原本的客人安排到其它房間,然後移出一間空房出來?難道無限旅館可以讓人這樣移了又移、移了又移嗎?

首先,無限旅館指的是一間旅館有無限多可數的房間數量,意思是每一個房間都有一個相對應的正整數,而且沒有一個最大的正整數。舉例來說,每一個房間都有一個從 1 開始的房號,因此我們可以一個一個地對每一個房間進行編號,然後可以像數羊那樣,依序去說這是第 1 間房,這是第 2 間房......那是第 n 間房;然後永無止盡地數下去。或讓我們換個說法,只要我們能找到一個用正整數的數列去排列一堆東西時,這一堆東西就會是可數的;如果它們還能無限地排列下去的話,那這堆東西就是無限可數的。

接著,客滿的意思是,房間的數量正好和入住的房客人數一樣(讓我們簡單地預設一間房只住一位客人)。當數量變成無限可數多時,會有一個很違反直覺的特點:對任何兩個無限可數的數量來說,它們在數量上都是一樣多的。如上所說,無限可數的定義來自於它和正整數有一一對應的關係,所以任何兩個無限可數的數量都會等於正整數的數量。以這種方式來談論數量的多寡會和我們的常識有很大的不同,舉例來說,一個從2開始的無限數列2, 3, 4, ..., n, n+1, ... 的數量正好和正整數一樣多,因為我們可以把2視為第1個;3視為第2個,n+1 視為第 n 個,以此類推。

因此,故事中的旅館儘管已有無限多的房客入住,當有新的旅客想要入住時,只要我們能找到一個方式把他和原有的房客都排進正整數的數列,無限旅館就有辦法讓這位旅客入住。在無限可數這樣的特性下,讓一位新的房客入住對無限旅館來說在實質上並沒有增加更多的數量,這也是故事中的駕駛感到困惑的地方。2

既然多一位客人在實質上並沒有超過無限旅館的負荷,旅館職員總是可以讓新入住的房客住進一個房間,只要他能找到一個恰當的排列方式,而故事中他的安排方式如下:

圖 1.

這樣的安排方式之所以可行,是因為房號並沒有上限,因此旅館職員可以把每一位房客往後移一個房號,這樣一號房就變成空房了。

假如這時候來了無限多個客人呢?想像有一台無限列車行駛而來,上面戴著無限多個客人 (包含了炎柱、炭治郎、禰豆子、......),旅館職員有辦法讓那麼多人一起入住嗎——在旅館「客滿」的狀況下?同樣很違反直覺地,這在理論上是可行的,只要把原本的房客分配到偶數房即可。如下所示:

圖 2.

這樣一來,奇數房 1, 3, 5, … 就全部空出來了,新來的客人因此可以依序入住。這樣的安排之所以可行,是來自於偶數和奇數的數量同樣是無限可數的,因此它們的數量也是一樣多的。那如圖 2 所示,我們就可以對每一個偶數進行排列,使得每一個偶數都有一個正整數與之對應。同樣地,我們也可以對每一個奇數給一個正整數的編號,因而可以一一去排列它們。

得請質數幫幫忙了

正當新來的客人都入住好之後,旅館外面突然來了無限多台遊覽車,更絕的是,每一台遊覽車上面都坐了無限多的乘客,此時旅館職員還能老神在在地讓所有人入住嗎?問到這裡,相信很多讀者的腦袋跟我課堂的學員們一樣快燒起來了。但敢在無限旅館混口飯吃的人可不是吃素的,他們有一個巧妙的方式去替全部的客人們分配房間。如下所示:

圖 3.

為了確保每個客人都有一個獨一的房號,旅館職員可以運用質數作為底數的代碼,來代表原本住在裡面的客人以及某台遊覽車的客人。例如,圖 3 把第一個質數 2 分派給已入住的房客專用的底數,再以他們原本的房號作為指數,就可以替他們每個人重新分配一個專屬的房間。運用相同的原理,由於質數同樣是無限可數的,我們可以依序對每一台遊覽車分派相對應的質數。以每一台遊覽車專有的質數為底數,再以乘客的座位號碼為指數,我們就可以對每一台遊覽車上的每一位客人分配他們專屬的房間了。

你以為旅館職員接下來就沒事了嗎?此時旅館後門正有無限艘船、載著無限個船客急馳而來(聽說很多威尼斯的旅館都有船專用的入口);屋頂正盤旋著無限台直昇機準備降落(當然,每一台上面都戴著無限個乘客);……(我們還可以想像其它的交通工具)。很多學員聽到這裡都已經放棄思考了,但旅館職員可不行,在此有一個分配方式至少是可行的。

首先,第一個質數 2 一樣留給原房客再根據其房號去編碼。比如,原本住在 3 號房的人被重新分配到 23 號房,即 8 號房。接著我們可以把不同的交通工具從第 2 個質數開始編碼,例如,把質數 3 分配給船,然後第一艘船用第一個質數、第二艘船用第二個質數、第 n 艘船用第 n 個質數去編碼。那麼,搭第三艘船座位是 2 號的船客會被分配到 352 號房,即 847288609443 號房。

更一般地說,這些搭乘交通工具來準備入住的旅客會以下面的方式被分配到一個專屬的房號:

質數(第幾種交通工具)質數(第幾台)座號

當然,這並不是唯一的分配方式,但至少這是一個有系統性的分配方式,這樣的好處是旅客職員還可以根據房號去知道房客的交通資訊。例如,有一位老太太在一切弄妥後,跑來說她把錢包忘在交通工具上了,而她還忘了她是怎麼來的,讀者們能幫她找到嗎?她的房號是 1953125。

一旦我們對 1953125 進行質因數分解,會得到 532 這個編碼,假設 5 是被分配給直昇機,那麼我們就知道這位老太太是乘坐第 2 架直昇機來的,而且她應該去那架直昇機的 2 號座位去尋回她的錢包。

和邏輯的關係

那到頭來,這和邏輯的關係是什麼呢?邏輯的一個核心想法是要去掌握我們使用的自然語言中有真假可言的語句,最終極的目標是建造一個形式語言,去精確地表達所有具有真假的語句內容。換句話說,理論上所有具有真假的語句,都可以被邏輯符號所形成的表達式所刻畫——雖然這是一個還未完成的艱巨任務。而由於邏輯符號的設計,我們可以對每一個表達式進行編碼,如同我們對每一個無限旅館的房客給一個專屬的房號,我們就可以一一排列所有的邏輯表達式,也就是說,我們可以一一排列有真假的語句。

舉例來說,我們可對每一個邏輯符號給一個基本的數碼如下:

表一

然後我們依以下的編碼方式,就可以保證每一個表達式都有一個獨一無二的號碼:3

第 1 個質數第 1 個符號的數碼×第 2 個質數第 2 個符號的數碼×第 n 個質數第 n 個符號的數碼   

每一個邏輯表達式都是一個從左到右依序排列的符號串,例如 Ba 這個表達式,它是由兩個符號 B 和 a 放在第一和第二個位置所組成,那依據表 1,B 和 a 的數碼分別是 12 跟 7,因此,我們就可以把 Ba  這個邏輯式子編碼成 212×37 ,也就等於是指派 8957952 這個數字給 Ba

讓我們再來看看另一個例子:(∀x)(Ax→Bx) 。這個表達式是由 11 個符號所構成,因此我們會依序用前 11 個質數為底數,再依每個位置的符號數碼為指數,它們的乘積即為這個表達式的專屬號碼,如下所示:

25×33  ×58  ×76  ×115  ×139  ×178  ×192  ×2312  ×298  ×316

相信這樣就不難理解,即使有無限多個表達式,我們還是可以對每一個表達式分配它們的專用號碼,我們就能據此依序去排列每一個表達式。邏輯表達式的可排列性在證明邏輯系統的性質時是非常重要的,因為這樣才能確保我們能無有遺漏地去考慮到每一個表達式。關於這些進階邏輯的內容,我們目前無法在此進一步與讀者分享,希望在不久的將來能有這樣的機會。

結語

對我來說,許多學科的內容常常是比較抽象且難以消化的,尤其是像數學或邏輯這樣充滿符號的學科,常常讓人望之卻步。在教授這樣的課程時,如何減少學生們在學習上所遭遇的挫折感,也算是一項挑戰。像無限旅館這樣的小故事(更像是思想實驗),不僅能吸引學習者的興趣,也能淺顯地傳達了難以理解的重要概念,可說是教學上的寶物。本文試著揭露無限旅館和邏輯表達式的可排列性之間的聯繫,對於某些人來說,則可能更容易理解離散數學中某些重要的概念。

從另外的角度來看,我們可以把無限旅館想像成一本能記錄所有字句的字典,例如像 Ian Stewart 所提及的「超韋氏字典」(Hyperwebster),它可以依照字母的順序式排列所有可能的英文字和語句:

A   AA  AAA ...   AB ABA ABAA ...   AZ  AZA ...  
B BA BAA ... BB BBA BBAA ... BZ BZA ...
C CA CAA ... CB CBA CBAA ... CZ CZA ...
... ... ... ... ... ... ... ... ... ... ...
Z ZA ZAA ... ZB ZBA ZBAA ... ZZ ZZA ...

不過,這本字典裡的住戶是有限可數的,因為每一個字句必須是有限的符號串,我們才有可能理解其意義。現今很紅的 Wordle 裡面的字當然也都包含在這本字典裡。假設符號邏輯這樣的人工語言最終能表達所有的真理,我們就能有一個可排列的方式去記錄每一件為真的事實,那麼,一個夠強大的AI可能會具有全知這樣的性質。

這樣一本類似無限旅館的真理之書,裡面住的是一個個這世界上的真理,這聽起來是不是有點酷?

  • 1. Kragh, H. (2014). The True (?) Story of Hilbert's Infinite Hotel. arXiv preprint arXiv:1403.0059. 本文摘取的內容原文如下:

    On a dark desert highway a tired driver passes one more hotel with a "No Vacancy" sign. But this time the hotel looks exceedingly large and so he goes in to see if there might nonetheless be a room for him:

    The clerk said, "No problem. Here's what can be done –
    We'll move those in a room to the next higher one.
    That will free up the first room and that's where you can stay."
    I tried understanding that as I heard him say:

    CHORUS: "Welcome to the HOTEL called INFINITY –
    Where every room is full (every room is full)
    Yet there's room for more.
    Yeah, plenty of room at the HOTEL called INFINITY –
    Move 'em down the floor (move 'em down the floor)
    To make room for more."

  • 2.康托 (Georg Cantor) 來說,多於無限可數的數量會是無限不可數的,這是他有名的連續統假設 (Continuum hypothesis)。
  • 3. 這樣的編碼方式便是著名的「哥德爾編碼」(Gödel numbering)。
不學無術的哲學家,另外喜歡吉他、咖啡和運動。人生的目標是具有哲學家的腦袋、運動員的體格、藝術家的氣息。
訂閱會員推薦
推薦
0 人投票。
訂閱哲學新媒體,支持作者持續創作、打造長長久久的哲普推廣與哲學教育平台。