当前位置:网站首页>Alpha Beta Pruning in Adversarial Search
Alpha Beta Pruning in Adversarial Search
2022-07-02 07:23:00 【Drizzle】
Alpha Beta Pruning in Adversarial Search
Minimax Implementation
def max-value(state):
initialize v = -∞
for each successor of state:
v = max(v, min-value(successor))
return v
def min-value(state):
initialize v = +∞
for each successor of state:
v = min(v, max-value(successor))
return v
V ( s ) = m a x ( V ( s ′ ) ) s ′ ∈ s u c c e s s o r ( s ) V(s) = max(V(s')) s' \in successor(s) V(s)=max(V(s′))s′∈successor(s)
V ( s ′ ) = m i n ( V ( s ) ) s ∈ s u c c e s s o r ( s ′ ) V(s') = min(V(s)) s \in successor(s') V(s′)=min(V(s))s∈successor(s′)
Alpha Beta Pruning
General configuration (MIN version)
We’re computing the MIN-VALUE at some node n
We’re looping over n’s children
n’s estimate of the childrens’ min is dropping
Who cares about n’s value? MAX
Let α \alpha α be the best value that MAX can get at any choice point along the current path from the root
If n becomes worse than α \alpha α, MAX will avoid it, so we can stop considering n’s other children (it’s already bad enough that it won’t be played)
MAX version is symmetric
Examples
To start with, we know nothing about the bounds, so we set α = − ∞ , β = ∞ \alpha = - \infty, \beta = \infty α=−∞,β=∞.
Then we passing along the bounds to the child, child’s child…
Now we reach at the level: depth of 4. We run our evaluation functions here.
An evaluation function is like:
Ideal function: returns the actual minimax value of the position
In practice: typically weighted linear sum of features: E v a l ( s ) = w 1 f 1 ( s ) + ⋅ ⋅ ⋅ + w n f n ( s ) Eval(s) = w_1f_1(s) + \cdot\cdot\cdot + w_nf_n(s) Eval(s)=w1f1(s)+⋅⋅⋅+wnfn(s).
We get value 3, since this is a min node, we now know the minmax value must be less than or equal to 3, thus, we set β = 3 \beta = 3 β=3.
Next child in depth 4 is value 17, while 17 > 3, we ignore this child.
All children handled, we return to depth 3. we have β = 3 \beta = 3 β=3 here, so we can set α = 3 \alpha = 3 α=3 at the depth 2 node.
We pass along the bounds of depth2 to next child of depth3.
At this moment, we get α = 3 a n d β = 2 , α > β \alpha = 3 \space and \space \beta = 2, \alpha > \beta α=3 and β=2,α>β.
If these values are to change, children values would be greater than 3 and less than 2, which is impossible. We can prune any children and return.
We do these steps recursively, we will reach this:
Some pictures and ideas comes from h t t p s : / / w w w . c s . u c l a . e d u / https://www.cs.ucla.edu/ https://www.cs.ucla.edu/.
Two Quiz
notice: I do not have answers.
边栏推荐
- DNS攻击详解
- Sqli-labs customs clearance (less1)
- SSM laboratory equipment management
- 第一个快应用(quickapp)demo
- Oracle rman半自动恢复脚本-restore阶段
- allennlp 中的TypeError: Object of type Tensor is not JSON serializable错误
- Oracle EBS数据库监控-Zabbix+zabbix-agent2+orabbix
- 【信息检索导论】第七章搜索系统中的评分计算
- ssm人事管理系统
- MySQL composite index with or without ID
猜你喜欢
ssm人事管理系统
JSP intelligent community property management system
Explain in detail the process of realizing Chinese text classification by CNN
架构设计三原则
Spark SQL task performance optimization (basic)
Pratique et réflexion sur l'entrepôt de données hors ligne et le développement Bi
Only the background of famous universities and factories can programmers have a way out? Netizen: two, big factory background is OK
Check log4j problems using stain analysis
ORACLE EBS 和 APEX 集成登录及原理分析
ssm超市订单管理系统
随机推荐
ORACLE 11G利用 ORDS+pljson来实现json_table 效果
[torch] the most concise logging User Guide
ORACLE 11G SYSAUX表空间满处理及move和shrink区别
2021-07-05c /cad secondary development create arc (4)
Network security -- intrusion detection of emergency response
实现接口 Interface Iterable<T>
Sqli labs customs clearance summary-page2
【信息检索导论】第一章 布尔检索
2021-07-19c CAD secondary development creates multiple line segments
Oracle segment advisor, how to deal with row link row migration, reduce high water level
ARP攻击
外币记账及重估总账余额表变化(下)
如何高效开发一款微信小程序
Typeerror in allenlp: object of type tensor is not JSON serializable error
@Transational踩坑
Transform the tree structure into array in PHP (flatten the tree structure and keep the sorting of upper and lower levels)
Explanation of suffix of Oracle EBS standard table
读《敏捷整洁之道:回归本源》后感
ORACLE EBS接口开发-json格式数据快捷生成
[introduction to information retrieval] Chapter 1 Boolean retrieval