基本搜尋技術 博弈樹

2021-09-26 02:36:25 字數 874 閱讀 9235

假定你的房間裡鋪有100塊地板,其中一塊底下有一塊金磚,而另一塊底下有一顆地雷。如果你翻開有金磚的那塊地板,你就可以成為百萬富翁;如果你翻開有地雷的那塊地板,你就可以到地獄旅行。在經歷了長期煎熬之後,你決定將這些地板逐一翻開,以找尋百萬富翁的生活。這個尋找命運答案的過程,就是搜尋( search)。

而將地板逐一翻開的搜尋方法,叫作盲目搜尋( blind search)。在這個盲目搜尋的過程中,隨著未翻開地板數目的減少,終將會找到乙個答案。

又假定你還有一位朝夕相伴的室友,同你一樣起了這個念頭。於是,你們商定每人每天可以交替翻開一塊地板。這樣當乙個人碰到地雷時,他最親密的朋友就可以得到剩下的金磚。

所以你們各自在心中祝願對方黃泉路上一帆風順。最多50天,命運的答案就會完全揭曉。你們翻開了98塊地板後仍一無所獲,在最後的時刻,你猶豫了,到底要不要翻開這一塊決定命運的地板?你感到同你競爭的並非你的室友,而是魔鬼的化身。這個同魔鬼的化身交戰的過程就叫作博弈。而敵對雙方交替動作的搜尋叫作對抗性搜尋( adversarial search)。

象棋博弈樹示意

讓我們面對一下不幸的實際。那就是,除了極少數非常簡單的棋類遊戲,大多數棋類遊戲,如象棋,我們都沒有建立完全搜尋樹的可能。一方面是因為很多情形根本就到達不了葉子節點,如將乙個棋子反覆來回走動就可永遠迴圈下去。另一方面,即使我們將迴圈的情形排這棵樹上的節點數量也已多到了無法處理的程度。以中國象棋為例,其每一局面可有約20~60種走法。以平均40種走法計,建立一棵(雙方各走50步)搜尋樹就需生成約10個節點。這遠遠超出了當今計算機的處理能力。即使生成乙個節點僅需10-8秒,生成這棵樹也要10年以上。顯然這是不切實際的;也就是說,必須得有其他切合實際的方法。

博弈基本技術 置換表

對弈程式基本技術 專題 置換表bruce moreland 文 乙個多功能的資料結構西洋棋的搜尋樹可以用圖來表示,而置換結點可以引向以前搜尋過的子樹上。置換表可以用來檢測這種情況,從而避免重複勞動。如果 1.e4 d6 2.d4 以後的局面已經搜尋過了,那就沒有必要再搜尋 1.d4 d6 2.e4 ...

人機博弈之(四) 搜尋技術

諸如下棋 打牌 競技 戰爭等一類競爭性智慧型活動稱為博弈。博弈有很多種,我們討論最簡單的 二人零和 全資訊 非偶然 博弈,其特徵如下 1 對壘的max min雙方輪流採取行動,博弈的結果只有三種情況 max方勝,min方敗 min方勝,max方敗 和局。2 在對壘過程中,任何一方都了解當前的格局及過...

博弈 敵對搜尋

定義一種新的黑白棋 1.棋盤大小為5 5的格仔 2.有些格仔不能放棋子 3.同乙個格仔最多放乙個棋子 4.先手執白棋,後手執黑棋 5.先手第一次可以把棋放在任意可以放的位置上 6.接下來兩人輪流放棋子,這個棋子必須與上乙個人放的棋子相鄰 請問 兩人都是最優策略,是先手贏,還是先手輸?深搜每層結果代表...