• 沒有找到結果。

實際範例

在文檔中 中 華 大 學 (頁 49-59)

第四章 實驗結果

4.2 實際範例

T19

max_calculate = 6 max_position = 8 table_out =

“011010100101010110”

(1).在系統忙碌期間(busy = “High”),主控制程 式在完成演算法的運算後,將得知評估函數的最 大值為 6(max_calculate = 6),電腦的最佳下棋 位置為 P8(max_position = 8)。

(2).在電腦完成下棋動作後,系統將紀錄最新的棋 局狀態到 table_out = “011010100101010110”,表 示棋局位置 P1 已被電腦下過,最後雙方和局。如 圖 4-9(j)。

表 4-6、軟體模擬結果說明表(5/5)

圖 4-9、軟體模擬結果說明圖(5/5)

如何具有人工智慧,能依據玩家所下的最新棋局變化,判斷出最佳的電腦下棋位置,

進而跟玩家產生下棋遊戲的競爭與互動。當開啟系統電源的時候,系統會先把棋盤位 置移到玩家下棋端,準備讓玩家下棋,若由玩家先放置色球,然後再按下觸發開關,

系統將判斷出玩家放置色球的位置,此時系統運作在「玩家先下」模式。若玩家還沒 放置色球,就先按下觸發開關,此時系統會把棋盤移到光感測器端,並依序移動棋盤 讓光感測器逐一檢查棋盤位置的狀態,其檢查順序為 1 à 2 à 3…à 9,以判斷出玩 家所放置的色球位置,若系統判斷出棋盤全部都是空的,此時系統運作在「電腦先下」

模式。棋盤掃描順序及棋盤位置的定義,如圖 4-10 所示。

圖 4-10、棋盤掃描順序及棋盤位置的定義

對於電腦及玩家而言,他們是以放置色球的方式來代表下棋動作,當電腦或玩 家在放置色球的時候,即代表他們在做下棋的動作。以下這兩個實際範例,電腦分別 以符號「O」和「藍色球」來表示,玩家以符號「X」和「紅色球」來表示。我們在 所有範例照片的左上方,使用「O」、「X」符號來代表該棋局狀態,如圖 4-11 所示。

實際範例的說明如下:

l 玩家先下

1. 當開啟系統電源後,系統會把棋盤位置移到玩家下棋端,準備讓玩家下棋,

如圖 4-11(a) 所示。

2. 棋局一開始由玩家先下,玩家先放置第一顆紅色球,然後再按下觸發開關,

完成玩家下棋動作,如圖 4-11(b) 所示。

圖 4-11、「玩家先下」實際範例(1/4)

3. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,並依序檢查棋 盤位置 L1 à L2 à L3,當系統檢查到 L3 的棋盤位置時,可自動判斷 出該位置已被玩家下過紅色球,因此停止原本要進行的掃瞄動作(預 計掃描 L4 à L5 à … à L9),系統記錄此時的棋盤狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L5,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L5 的棋盤位置,完成電 腦下棋動作,如圖 4-12(c) 所示。

4. 接著輪到玩家下棋,玩家選擇把紅色球放在 L6 的位置,然後按下觸發開關,

完成玩家下棋動作,如圖 4-12(d) 所示。

圖 4-12、「玩家先下」實際範例(2/4)

5. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,並依序檢查棋 盤位置 L1 à L2(因為這兩個位置都沒被放過色球,所以系統會做檢 查),然後跳過 L3(因為系統已記錄該位置曾被玩家下過),隨後檢 查 L4(因為該位置沒被放過色球),再來跳過 L5(因為系統已記錄該 位置曾被電腦下過),當系統檢查到 L6 的位置時,可自動判斷出該位 置剛被玩家下過紅色球,因此停止原本要進行的掃瞄動作(預計掃描 L7 à L8 à L9),系統記錄此時的棋盤狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L9,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L9 的棋盤位置,完成電 腦下棋動作,如圖 4-13(e) 所示。

6. 接著輪到玩家下棋,玩家故意把紅色球放在 L2 的位置,想看電腦是否具有 人工智慧能贏得這盤棋局,最後按下觸發開關,完成玩家下棋動作,如圖 4-13(f) 所示。

圖 4-13、「玩家先下」實際範例(3/4)

7. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,並依序檢查棋 盤位置 L1(因為這個位置沒被放過色球,所以系統會做檢查),當系 統檢查到 L2 的位置時,可自動判斷出該位置剛被玩家下過紅色球,因 此停止原本要進行的掃瞄動作(預計掃描 L4 à L7 à L8),系統記錄 此時的棋盤狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L1,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L1 的棋盤位置,最後由 電腦贏得這盤棋局,如圖 4-14(g) 所示。

圖 4-14、「玩家先下」實際範例(4/4)

l 電腦先下

1. 當開啟系統電源後,系統會把棋盤位置移到玩家下棋端,準備讓玩家下棋。

若玩家還沒放置色球,就先按下觸發開關,此時系統會把棋盤移到光感測 器端,並依序移動棋盤讓光感測器逐一檢查棋盤位置的狀態,其檢查順序 為 1 à 2 à 3…à 9,以判斷玩家擺放色球位置。若系統判斷出棋盤全部都 是空的,此時系統運作在「電腦先下」模式,如圖 4-15(a) 所示。

2. 棋局一開始由電腦先下,系統透過井字遊戲演算法算出電腦的最佳下棋位 置為 L5,於是把棋盤移到電腦下棋端,讓電腦把藍色球下在 L5 的棋盤位 置,完成電腦下棋動作,如圖 4-15(b) 所示。

圖 4-15、「電腦先下」實際範例(1/4)

3. 接著輪到玩家下棋,玩家選擇把紅色球放在 L2 的位置,然後按下觸發開關,

完成玩家下棋動作,如圖 4-16(c) 所示。

4. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,並依序檢查棋 盤位置 L1(因為這個位置沒被放過色球,所以系統會做檢查),當系 統檢查到 L2 的位置時,可自動判斷出該位置剛被玩家下過紅色球,因 此停止原本要進行的掃瞄動作(預計掃描 L3 à L4 à L6 à … à L9),

系統記錄此時的棋盤狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L7,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L7 的棋盤位置,完成電 腦下棋動作,如圖 4-16(d) 所示。

圖 4-16、「電腦先下」實際範例(2/4)

5. 接著輪到玩家下棋,玩家選擇把紅色球放在 L3 的位置,然後按下觸發開關,

完成玩家下棋動作,如圖 4-17(e) 所示。

6. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,並依序檢查 棋盤位置 L1(因為這個位置沒被放過色球,所以系統會做檢查),當 系統檢查到 L3 的位置時,可自動判斷出該位置剛被玩家下過紅色球,

因此停止原本要進行的掃瞄動作(預計掃描 L4 à L6 à L8 à L9),

系統記錄此時的棋盤狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L1,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L1 的棋盤位置,完成電 腦下棋動作,如圖 4-17(f) 所示。

圖 4-17、「電腦先下」實際範例(3/4)

7. 接著輪到玩家下棋,玩家選擇把紅色球放在 L4 的位置,然後按下觸發開關,

完成玩家下棋動作,如圖 4-18(g) 所示。

8. (1). 在玩家完成下棋動作後,系統會把棋盤移到光感測器端,當系統檢查 L4 的位置時,可自動判斷出該位置剛被玩家下過紅色球,因此停止原 本要進行的掃瞄動作(將掃描 L6 à L8 à L9),系統記錄此時的棋盤 狀態。

(2). 隨後,系統透過井字遊戲演算法算出電腦的最佳下棋位置為 L9,於是 把棋盤移到電腦下棋端,讓電腦把藍色球下在 L9 的棋盤位置,最後由 電腦贏得這盤棋局,如圖 4-18(h) 所示。

圖 4-18、「電腦先下」實際範例(4/4)

在文檔中 中 華 大 學 (頁 49-59)

相關文件