本文是為【邏輯訓練—最後一粒波子係咩色?】所提出的邏輯問題揭曉答案。文中問題:一袋波子,有紅有藍,每次從袋中抽兩粒波子出來;如果兩粒波子顏色相同,就把一粒紅色的波子放回袋中;如果顏色不同,就把一粒藍色的波子放回袋中。袋外有足夠的紅色和藍色波子。在什麼情況下袋內最後一粒波子一定是紅色?

文章提議把問題「拆細」,由袋中有紅藍波子各兩粒開始思考。為方便表達,我們用每粒波子的顏色顯示袋中的現況,譬如一開始紅藍波子各兩粒,便用〖紅紅藍藍〗來表示。第一個要明白的重點,就是把兩粒波子抽出來,那兩粒波子的顏色,其實只有三個可能:就是『紅紅』、『藍藍』和『紅藍』。根據以上規則,從〖紅紅藍藍〗抽出兩粒相同顏色的波子,就要放回一粒紅色的波子;那麼如果抽出『紅紅』,放回紅色波子後袋中會是〖紅藍藍〗;如果抽出『藍藍』,放回紅色波子後袋中會是〖紅紅紅〗;如果抽出『紅藍』的話,就要放回藍色波子,那麼袋中會是〖紅藍藍〗了。簡單而言,就是以下三個可能:

A1.〖紅紅藍藍〗(抽『紅紅』,放回紅)→〖紅藍藍〗
A2.〖紅紅藍藍〗(抽『藍藍』,放回紅)→〖紅紅紅〗
A3.〖紅紅藍藍〗(抽『紅藍』,放回藍)→〖紅藍藍〗

原來第一和第三個情況會得出同一個結果,亦即〖紅藍藍〗。當我們再抽兩粒波子出來的時候,因為袋中只有一粒紅色波子,所以抽出來的兩粒波子,只可能是『紅藍』或『藍藍』:

B1.〖紅藍藍〗(抽『紅藍』,放回藍)→〖藍藍〗
B2.〖紅藍藍〗(抽『藍藍』,放回紅)→〖紅紅〗

而以上第二個情況的結果〖紅紅紅〗,由於袋中只剩下紅色的三粒波子,所以抽出來的兩粒波子,只可能是『紅紅』:

C.〖紅紅紅〗(抽『紅紅』,放回紅)→〖紅紅〗

那麼,我們可以看到,無論抽出來的波子是怎麼樣的配搭,經過兩輪之後,剩下在袋中的兩粒波子,只可能是〖藍藍〗或〖紅紅〗,亦即兩粒都是相同顏色的波子了。再下一輪抽出來的兩粒波子,一定是相同顏色;所以放回去的最後一粒波子,便一定是紅色了。這是上文第一小題的答案。

所以,我們知道,當袋中有四粒波子〖紅紅藍藍〗,按照規則,最後一粒波子一定是紅色的了。再看清楚以上的總結(B1、B2和C),原來我們也證實了,當袋中有三粒波子,顏色是〖紅藍藍〗或〖紅紅紅〗的時候,最後一粒波子也一定是紅色的。

這類只有譬如「黑白」或「紅藍」兩個選擇的邏輯問題,當我們證實到譬如〖紅藍藍〗和〖紅紅紅〗最後一粒都會得到〖紅〗的結果時,我們最好把相反的〖紅紅藍〗和〖藍藍藍〗也推理一下,看看對我們有沒有幫助:

D1.〖紅紅藍〗(抽『紅藍』,放回藍)→〖紅藍〗→〖藍〗
D2.〖紅紅藍〗(抽『紅紅』,放回紅)→〖紅藍〗→〖藍〗
E.〖藍藍藍〗(抽『藍藍』,放回紅)→〖紅藍〗→〖藍〗

我們大概看到一個模式,最後三粒是〖紅藍藍〗或〖紅紅紅〗,最後一粒波子一定是〖紅〗;相反,最後三粒是〖紅紅藍〗或〖藍藍藍〗,最後一粒波子一定是〖藍〗。留意最後三粒波子的顏色,就只有這四個可能(〖紅紅紅〗、〖紅紅藍〗、〖紅藍藍〗或〖藍藍藍〗);所以我們知道,無論袋中波子有多少粒,只要我們知道最後三粒是什麼顏色,我們便可以斷定最後一粒是什麼顏色了。

F1.〖紅藍藍〗或〖紅紅紅〗→〖紅〗
F2.〖紅紅藍〗或〖藍藍藍〗→〖藍〗

上一篇文章的第二小題,問題是袋中有紅藍波子各三粒,亦即〖紅紅紅藍藍藍〗,我們可以肯定最後一粒波子是什麼顏色嗎?我們不是不能用以上的推演方法解決這個問題,不過推演的步驟太多,容易出錯,所以最好利用以上推演的「經驗」,再找一些捷徑去解決越來越複雜的問題。

我們可以想想,把〖紅紅紅藍藍藍〗抽過三輪之後,袋中剩下的三粒波子,有機會是〖紅紅紅〗、〖紅紅藍〗、〖紅藍藍〗、或〖藍藍藍〗的任何一個可能嗎?我們不妨推斷一下,〖紅紅紅藍藍藍〗在三輪之後,袋中少了三粒波子,剩下的三粒,有沒有可能是〖紅紅紅〗或者是〖紅藍藍〗?

要藍色波子在袋中三輪減少三粒,最理想的方法當然是每輪減少一粒了;不過,看清楚規則,每一輪減少波子的方法有三個:

X1. 抽出兩粒紅色波子,放回一粒紅色波子;亦即減少一粒紅色波子;
X2. 抽出一粒紅色波子和一粒藍色波子,放回一粒藍色波子;亦即減少一粒紅色波子;
X3. 抽出兩粒藍色波子,於回一粒紅色波子;亦即減少兩粒藍色、加一粒紅色波子;

看清楚以上三點,原來我們只可能每次減少一粒紅色,而不可能減少一粒藍色波子;要減少藍色波子的數量,就要每次減兩粒。這表示如果袋中只剩下一粒藍色波子的話,按照規則,這粒藍色波子是不可能抽出來而不放回袋中的;因為抽到一紅一藍,規則要求把藍色放回去。

所以,把〖紅紅紅藍藍藍〗抽過三輪之後,如果三輪都抽不到『藍藍』,亦即每一輪減少一粒紅色,那麼三輪之後袋中會是〖藍藍藍〗;如果三輪之中有一輪抽到『藍藍』,那麼三輪之後,袋中便只可能是〖紅紅藍〗了。因為在袋中的最後一粒藍色,就算抽了出來也要放回袋中,所以三粒波子,只有兩紅一藍的可能了。

上面F2已經證明了一旦〖紅紅藍〗或〖藍藍藍〗,最後一粒波子只可能是藍色;所以上文第二小題的答案,〖紅紅紅藍藍藍〗的最後一粒波子,我們可以肯定為藍色。

最後可以一併解答第三小題(紅藍波子各100粒),和在什麼情況下最後一粒波子會是紅色。

以上我們看到,藍色波子每次只可以減少兩粒;而最後剩下一粒藍色波子在袋中,是棄不掉的;那麼,如果一開始袋中藍色波子的數目是單數,每一輪減少零粒或兩粒,到最後不論還剩下多少紅色波子在袋中,藍色波子的數目仍然會是單數;所以當袋中只剩下三粒波子的時候,藍色的波子只可能是一粒〖紅紅藍〗或三粒〖藍藍藍〗了。當袋中只剩下一粒波子的時候,藍色的波子數量也只能是單數,也即是一粒。

同理,當袋中一開始藍色波子的數目是雙數(譬如紅藍波子各100粒),每一輪減少零粒或兩粒;到袋中只剩下三粒波子時,藍色波子數量只可能是零粒〖紅紅紅〗或兩粒〖紅藍藍〗;而最後一粒波子就一定是紅色了。

所以,簡單一句的答案是:藍色波子一開始在袋中的數目是雙數,最後一粒波子一定是紅色;藍色波子是單數,最後一粒波子一定是藍色。

讀者看到這裡,可能會覺得一開始解決第一個小題目〖紅紅藍藍〗的推演有點多餘;因為如果我們可以直接看到X1,X2,X3推演出來的重點(藍色波子不可能只減少一粒),便不用上半部長篇大論的推理了。不過,現實是,問題的重點不太可能一眼就可以看出來,必須經過把問題「簡單化」後,再留意得到。這條問題推演的過程,大概會和解決這種邏輯問題的思考步驟吻合吧。

(數學邏輯推理訓練系列之五)