当前位置:网站首页>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.


边栏推荐
- Sqli-labs customs clearance (less2-less5)
- 叮咚,Redis OM对象映射框架来了
- MySQL has no collation factor of order by
- 腾讯机试题
- Two table Association of pyspark in idea2020 (field names are the same)
- @Transational踩坑
- CSRF攻击
- [introduction to information retrieval] Chapter II vocabulary dictionary and inverted record table
- Sqli-labs customs clearance (less1)
- Yaml file of ingress controller 0.47.0
猜你喜欢

如何高效开发一款微信小程序

oracle apex ajax process + dy 校验

Three principles of architecture design

使用Matlab实现:Jacobi、Gauss-Seidel迭代

Ceaspectuss shipping company shipping artificial intelligence products, anytime, anywhere container inspection and reporting to achieve cloud yard, shipping company intelligent digital container contr

Two table Association of pyspark in idea2020 (field names are the same)

【信息检索导论】第六章 词项权重及向量空间模型

Oracle EBs and apex integrated login and principle analysis

view的绘制机制(一)

SSM second hand trading website
随机推荐
Oracle EBS database monitoring -zabbix+zabbix-agent2+orabbix
Oracle rman半自动恢复脚本-restore阶段
Oracle apex Ajax process + dy verification
Ding Dong, here comes the redis om object mapping framework
ORACLE EBS 和 APEX 集成登录及原理分析
Get the uppercase initials of Chinese Pinyin in PHP
【信息检索导论】第一章 布尔检索
RMAN incremental recovery example (1) - without unbacked archive logs
Oracle EBS数据库监控-Zabbix+zabbix-agent2+orabbix
读《敏捷整洁之道:回归本源》后感
2021-07-17c /cad secondary development creation circle (5)
SSM二手交易网站
【论文介绍】R-Drop: Regularized Dropout for Neural Networks
Build FRP for intranet penetration
Agile development of software development pattern (scrum)
ssm超市订单管理系统
ssm垃圾分类管理系统
【MEDICAL】Attend to Medical Ontologies: Content Selection for Clinical Abstractive Summarization
一个中年程序员学习中国近代史的小结
SSM second hand trading website