北京理工大學人工智慧第一次作業

來源:互聯網
上載者:User

第一題:請用狀態空間表示與A*搜尋演算法求解如下問題:U2合唱團在17分鐘內得趕到演唱會場,途中必需跨過一座橋,四個人從橋的同一端出發,你得協助他們到達另一端,天色很暗,而他們只有一隻手電筒。一次同時最多可以有兩人一起過橋,而過橋的時候必須持有手電筒,所以就得有人把手電筒帶來帶去,來回橋兩端。手電筒是不能用丟的方式來傳遞的。四個人的步行速度各不同,若兩人同行則以較慢者的速度為準。
Bono需花1分鐘過橋 Edge需花2分鐘過橋 Adam需花5分鐘過橋
Larry需花10分鐘過橋他們要如何在17分鐘內過橋呢?(微軟筆試題)

 

解答:

估值函數

f(n)=g(n)+h(n)

g(n)定義為已經過去的時間

h(n)表示估計剩下需要花費的時間,當有三個人未過橋時,h(n)為其中所需最大過橋時間和最小過橋時間之和,當有兩個人未過橋時,h(n)為其中所需最大過橋時間,當有一個人未過橋時,h(n)即為所需過橋時間。由於此時並不考慮為了傳遞手電筒需要的返回時間,故h(n)不會比真即時間長,估計有效。

 

 

 

批改:狀態空間表示正確。啟發學習法函數設計正確。

 

 

第二題:設有的一顆博弈樹,其中末一行的數字是頁頂點的靜態估值,請對博弈樹做如下工作:

(1)      
用極大極小值法計算各節點的反向推算值。

(2)      
用剪枝技術剪去不必要的分枝。(在剪枝處用╳標記)。

 

 

批改:反向推算值計算正確。剪枝過程正確。

 

 

 

 

第三題:尋找資料,針對一個使用博弈樹方法來解決的問題,說明其頂點估值的方法。(例如中國象棋博弈中頂點估值的方法)

 

解答:例如在圍棋吃子問題中,吃子計算的目的是要得到一塊棋能否被吃死或者能否逃脫以及如何吃死或者逃脫。該問題可以使用博弈樹的方法進行求解,用到的是proof-number搜尋。

對於節點的估值,使用對目標棋塊的關鍵鏈的評估值作為中間節點和葉子節點的評估值:

Node Evaluation = # Crucial chain’s First liberties 3 4 + # Crucial chain’s Second liberties

p n
搜尋將節點分為2 種:與節點和或節點.
在每個與節點努力去否證節點,在每個或節點努力去證明節點.
在每個節點上使用2 個數值:proof number ——最少需要展開的葉子節點去證明此節點的數目; disproof number ——最少需要展開的葉子節點去否證此節點的數目。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.