「二十個問題」遊戲 - 透過決策樹分解複雜問題

話說1950年代,美國電視上流行一種稱為「二十個問題(Twenty Question Game)」的機智問答遊戲。遊戲的內容很簡單,主要是讓挑戰者猜出實物的名稱。玩法是讓挑戰者,最多能向主持人提出二十個「是、非」的問題,例如:「它是活的嗎?」、「它比烤麵包機大嗎?」…等簡單提問,如果挑戰者能在時限之內猜出答案,就能贏得遊戲。

而微軟亞洲研究院於2014年5月30日,在網路上推出一個人工智慧聊天機器人「小冰」。小冰有個基本的虛擬服務,叫做「讀心術」。透過詢問使用者15個問題,聰明的小冰就有很高的機會,能夠猜想出使用者心中所想的古今中外知名人士。

與小冰互動,大概情形如下:「小冰的提問」(使用者的回答)

「她是女的嗎?」(不是)

「他是在中國內地出生的嗎?」(不是)

「他是虛擬人物嗎?」(是)

「他上學嗎?」(不是)

「他來自於日本動畫嗎?」(是)

「他是人類,對嗎?」(不是)

「他有頭髮嗎?」(不是)

「他是不是體型很小?」(是)

「他是不是猫?」(是)

「他是機器人,對嗎?」(是)

「他是藍色的嗎?」(是)

小冰最後給了答案:是「哆啦A夢」

圖1微軟小冰讀心術

看了以上的遊戲,小冰其實只問了十一次,看起來確實相當神奇,不過,如果仔細推敲這些問題背後的邏輯,每個問題有兩種答案(是、不是),一旦問了二十個問題後,總共可以有多少選項(多少位知名人士)?答案是2的20次方,104萬8576個選項(亦即超過100萬位知名人士)。想通這一點,小冰又似乎沒有那麼厲害了。

其實,無論是電視上的「二十個問題」遊戲,或是「微軟小冰讀心術」,它們背後的「運算思維」方法就是「分解(Decomposition)」,而使用的工具就是「決策樹(Decision tree)」。

至於它們如何運作呢?其實原理很簡單,以「二十個問題」為例,由於只能回答「是」與「否」,所以使用都每次的回答,小冰都能夠「排除一半」不可能的答案,朝可能答案靠攏。例如小冰提問:「他是人類,對嗎?」,使用者回答「不是」,小冰就能猜他是機器人,而這樣的作法,經過逐步拆解,就能將一個原本很複雜的事情,分解成很多的小問題,最終獲得解答。

作者:羅凱揚(台科大企管系博士)、蘇宇暉(台科大管研所博士候選人)
繪圖者:彭煖蘋

更多商普好文推薦

回到頂端