博弈与博弈树

article/2025/10/8 19:13:23

博弈与博弈树

博弈

博弈双方根据事先制定的规则,轮流交替在对应的棋局上做出自己的选择,然后根据规则判定那一方获胜。

博弈树(一种特殊的与或树)

在这里插入图片描述

  • 目标:将当前棋局作为根节点,选出最有利于自己获胜的一步棋
  • 结构
    • 节点:每一个节点代表一种棋局,总共有两种情况,一种是敌方走过,轮到我走;另外一种是我方走过,敌方进行选择。

    • 交替出现的与或节点:双方轮流走步,轮流扩展自己的节点

    • 终叶节点:

      • 我方获胜,节点可解
      • 敌方获胜,节点不可解
    • 根节点:敌方刚走过的棋局,我方根据该棋局做出自己的判断

    • 根节点的字节点:我方根据敌方走过的棋局,可以做出的选择

  • 估价函数:将胜利的判定条件作为可视化,可比较的数字,通过比较估价函数值,来确定当前步是否是最有力的步骤
    • 终叶节点的估价函数:通过终叶棋局的直接计算获得
    • 父节点:
      • 子节点是或连接:选取子节点中估价函数最大的得分作为父节点的估价函数值
      • 子节点是与连接:选取子节点中估价函数最小的得分作为父节点的估价函数值

搜索方法——man-min搜索

  • 基本思想:自下而上逐层回溯评估。——因为底层的终叶节点代表着棋局的最终输赢,所以要从结局开始追溯,判定某一步走的结果是输是赢。
  • 与节点的子节点选择最小值最为父节点的值——敌方有若干种可能,只要有一种可能,在同等的情况下,敌方也一定会赢,所以,父节点一定是最小值。
  • 或节点的子节点选择最大值作为父节点的值——我方有若干种走法,凡是我方一定选择胜率最高的步子。
图例

在这里插入图片描述
有当前棋局出发,根据步数4的要求,延展出对应的与或图
在这里插入图片描述
然后根据对应的传递规则,从下往上进行推导,直到倒数第二层,选择出胜率最高的步数。


http://chatgpt.dhexx.cn/article/1vYqWZRL.shtml

相关文章

博弈树搜索算法

即使满腹经纶,但没有好的口才来授课,也会让学生听得昏昏欲睡、不知所云呢!即使满腔热血,没有好的口才来凝聚共识,也会让这份理想温暖黯淡无光。但是,好的说话之道,也要有一颗赤诚的心、诚恳的情…

博弈树-BIT

博弈树-BIT 下棋属于一种博弈游戏,博弈过程可以用树(博弈树)来表示。假设游戏由两个人( A 和 B )玩,开始由某个人从根结点开始走,两个人轮流走棋,每次只能走一步, 下一步…

第四章 博弈树game tree

这里写目录标题 perfect-information game从博弈树得到收益表subgamebackward induction 反向推导一个值得思考的例子: 另一个例子umperfect information extensive混合策略和行为策略(mexed and behavioral strategies)不完美信息博弈的求解 博弈树用于…

人工智能—— 博弈树的启发式搜索

一、概述 博弈的概念 博弈是一类具有智能行为的竞争活动,如下棋、战争等。 博弈的类型 双人完备信息博弈:两位选手(例如MAX和MIN )对垒,轮流走步,每一方不仅知道对方已经走过的棋步,而且还能…

博弈树与α-β剪枝

一、评价函数(Evaluation function) 绝大部分的游戏,决策空间都相当庞大。 即使是最简单的三子棋(又叫做“井”字棋,一字棋)。它的第一步有9种决策,然后对面有9*872种决策,....&…

博弈树

博弈树的搜索 博弈树定义: 一类特殊的与或图 (本次讨论的博弈树都是“与或图”) 应用范围: 下棋、故障诊断、风险投资 基本搜索策略: 极小极大搜索(min-max) 优化的搜索方法: α…

vim的目录树插件NERDtree的安装

下载: https://github.com/preservim/nerdtree 上面是NERDTree插件的下载链接,在github上下载即可将下载的文件的解压,并通过虚拟机的共享文件夹共享到虚拟机 将共享的文件,复制到~./vim/ 目录下,如下图: …

Vim的NerdTree插件

在vundle插件管理的方式,直接在~/.vimrc中的Plugin段落中加入Plugin "scrooloose/nerdtree "然后重启Vim并输入PluginInstall,即可完成安装 然后输入: NERDTreeToggle即可打开文件树。当然,默认是关闭的,需要每次都输入…

分享一个Vim目录树的插件-NERDTree

之前的公司有目录树,方便很多,但是没把代码带过来,这次新找了一个,对于日常工作来说,确实方便很多。NERDTree是github上分享的免费的linux/vim上的目录树插件,有需要的可以参考原来的链接: NER…

java之TreeNode

~ 前言 之前讲的HashMap机制遗漏了一个Tree的操作,我们在这里补上。如果是从头看到这里那么这一章也会非常容易。 后续讲解内容为源码实现,这里使用的是JDK8的版本。 红黑树 HashMap使用的树结构是红黑树,而红黑树是一个平衡二叉树&#xf…

Vim升华之树形目录插件NERDTree安装图解

无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然。她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了。我的系统是Ubuntu12.04,版本不同…

gvim安装NERDTree插件

gvim安装NERDTree插件 安装vim plug遇到的问题安装成功 安装NERDTree插件遇到的问题安装成功 安装vim plug 访问网站链接: download vim-plug Linux终端命令敲入: curl -fLo ~/.vim/autoload/plug.vim --create-dirs \https://raw.githubusercontent.com/junegunn…

安装NERDtree

无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然。她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了。我的系统是Ubuntu12.04,版本不同…

nerdtree-git-plugin插件

给用 NERDTree 的同学推荐一个很好用的插件 nerdtree-git-plugin,这个插件能显示 git 管理的项目文件变更状态. 配置 这个插件是”开箱即用”的,不过建议大家做如下配置(用zsh的同学是不是很熟悉XD): let g:NERDTreeIndicatorMapCustom {\ "Mod…

NERDTree安装

转自https://blog.csdn.net/qq_33862644/article/details/80545654 安装: 1、下载vundle(管理插件工具) git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 注意:~开始是下载到哪,…

linux下Nerdtree安装方法

目录 1.下载Nerdtree 2. linux下安装 3. 成功享受吧 1.下载Nerdtree 百度网盘下载,地址为链接:百度网盘 请输入提取码 提取码:07e3 --来自百度网盘超级会员V4的分享 github方式下载,地址为 https://github.com/scrooloose/ner…

GVim配置一个漂亮的NerdTree

GVim配置一个漂亮的NerdTree GVim使用也有一段时间了,有空写几个简单的教程帮助新手快速上手,定制一个个性化的编辑器把。以下是我的NerdTree效果展示。 NerdTree插件 NerdTree下载安装 如果你安装了插件管理器的化安装就很简单了,如果没有安…

NERDTree插件安装和使用

如何安装NERDTree插件,该插件显示一个目录树,可以执行一下文件的操作命令,首先添加配置: " 在vim中安装及配置NERDTree插件,放在Plugin gmarik/Vundle.vim 之后 Plugin scrooloose/nerdtree ""-----…

Win系统中GVim8.2配置NerdTree插件

目录 功能说明 NerdTree插件实现效果图: NerdTree安装: NerdTree配置 功能说明 NERDTree是Vim最常用的插件之一,可以在Vim运行时显示目录和文件结构,类似TextMate左侧的文件浏览器,但操作起来更为方便,…

vim插件:显示树形目录插件NERDTree安装 和 使用

前言 一、下载和配置 NERDTree插件的官方地址如下,可以从这里获取最新的版本 https://github.com/scrooloose/nerdtree 下载zip安装包 或者使用下面官网源文件安装方法 我的实验环境是centos6.6,其他版本可能有些不同。 安装方法很简单,先把压缩文件下…