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


边栏推荐
- 2021-07-05c /cad secondary development create arc (4)
- Conda 创建,复制,分享虚拟环境
- Classloader and parental delegation mechanism
- 使用Matlab实现:Jacobi、Gauss-Seidel迭代
- Transform the tree structure into array in PHP (flatten the tree structure and keep the sorting of upper and lower levels)
- allennlp 中的TypeError: Object of type Tensor is not JSON serializable错误
- [introduction to information retrieval] Chapter 3 fault tolerant retrieval
- spark sql任务性能优化(基础)
- mapreduce概念和案例(尚硅谷学习笔记)
- Oracle EBS database monitoring -zabbix+zabbix-agent2+orabbix
猜你喜欢

使用 Compose 实现可见 ScrollBar

TCP攻击

Message queue fnd in Oracle EBS_ msg_ pub、fnd_ Application of message in pl/sql

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

CSRF attack

Principle analysis of spark

【MEDICAL】Attend to Medical Ontologies: Content Selection for Clinical Abstractive Summarization

mapreduce概念和案例(尚硅谷学习笔记)

Changes in foreign currency bookkeeping and revaluation general ledger balance table (Part 2)

架构设计三原则
随机推荐
Principle analysis of spark
使用Matlab实现:幂法、反幂法(原点位移)
使用Matlab实现:Jacobi、Gauss-Seidel迭代
TCP attack
ssm人事管理系统
【MEDICAL】Attend to Medical Ontologies: Content Selection for Clinical Abstractive Summarization
Sqli labs customs clearance summary-page1
ERNIE1.0 与 ERNIE2.0 论文解读
Write a thread pool by hand, and take you to learn the implementation principle of ThreadPoolExecutor thread pool
[torch] some ideas to solve the problem that the tensor parameters have gradients and the weight is not updated
Yolov5 practice: teach object detection by hand
腾讯机试题
ORACLE EBS中消息队列fnd_msg_pub、fnd_message在PL/SQL中的应用
SSM实验室设备管理
SSM学生成绩信息管理系统
Check log4j problems using stain analysis
Delete the contents under the specified folder in PHP
Agile development of software development pattern (scrum)
Oracle 11g uses ords+pljson to implement JSON_ Table effect
【BERT,GPT+KG调研】Pretrain model融合knowledge的论文集锦