樂高機器人可解數獨

(Credit: Hans Andersson)

樂高(Lego) Mindstorms機器人是為有創意的小孩所設計的未來派玩具,不過大家可能不知道這些DIY機器人自己也可以變得有創意且可以解開謎語。

瑞典工程師Hans Andersson買了一個可編程的Mindstorms NXT組合給他的兩個女兒,後來他自己開始改造這個玩具,把它變成了一個可自己在數分鐘內解開數獨(Sudoku)謎語的機器人。

這個Sudoku Solver會先用一個光感器掃描整個謎語,然後再找出每個方格裡失落的數字,它的電腦透過圖像決策演算法(thresholding algorithm)來處理圖像並辨識感應器收到的資訊。辨識謎語內已經有的數字似乎是整個過程裡最困難的一部分。

Andersson指出,透過回溯追蹤演算法要讓這個機器人找出失落的數字是很簡單的,「不過由於 Mindstorms的處理器較慢且沒有遞迴功能,所以需要做一些修改來把它最佳化。」這個機器人解開數讀謎語的速度依舊比Andersson快。

Andersson另外還創造了一個叫做Tilted Twister的Mindstorms機器人,可在約6分鐘內自己解開魔術方塊(Rubik's Cube)。

我們應該會愛上機器人,現在它們已經會玩我們的玩具,接下來它們就會知道如何跟我們玩了。

文章來源:CNET Taiwan

要機器人解開數獨謎題解答相當簡單,重點在於掃描、辨識及正確定位、移位填數的設計,相當不易。