在以各种“XX学习”为代表的人工智能技术普及之前,游戏里常见的角色 AI 都是各种预设的行为逻辑,比如博弈树和行为树,当然也会用到各种专家知识库。当这些预设的行为逻辑足够复杂的时候,往往会让游戏玩家觉得游戏里的人物很“智能”。从本质上来说,这些都还不算是真正的 AI,但也能够给游戏的体验增加很多乐趣,这一课我们就来介绍三种常见的给角色预设行为逻辑的方法,分别是决策树、博弈树和行为树。

决策树(Decision Tree)

在介绍决策树之前,先说一下分类算法,它是机器学习领域里的基本算法之一,常见的分类算法有贝叶斯分类算法、KNN 算法、逻辑回归算法、神经网络算法等,当然,还有各种深度学习算法。决策树是一种简单但广泛使用的分类器,因此,决策树也是一种分类算法。

决策树长什么样

决策树易于理解,通过解释后就能知道决策树所表达的意义了。决策树的每个内部节点表示在一个属性上的测试,每个分支代表该测试的一个输出,而每个树叶结点则代表一个分类标记,所谓的分类标记其实就是分类结果,比如“Yes”或“No”。

图(1)相亲决策示意图

图(1)就是一个“疑似”决策树的示意图,这是一个姑娘的相亲决策。之所以用“疑似”来形容,是因为这个决策树上的判断条件都太主观、太抽象、没有量化。什么意思呢?比如说“年轻”这个条件,多少岁算年轻,多少岁算年老呢

第6-2课:决策树、博弈树和行为树相关推荐

  1. [机器学习导论]—— 第四课——决策树

    文章目录 第四课--决策树 决策树简介 决策树引入 决策树组成 决策树基本原理 决策树基本流程 ID3算法 :fire:信息熵 信息熵的计算 数据集的信息熵 使用熵衡量数据纯度 信息增益 选择划分属性 ...

  2. R语言使用randomForest包构建随机森林模型的步骤和流程、随机森林算法包括抽样样本(观察)和变量来创建大量的决策树(多个树,构成了森林,而且通过样本抽样和变量抽样,让多个树尽量不同)

    R语言使用randomForest包中的randomForest函数构建随机森林模型的步骤和流程(Random forests).随机森林算法包括抽样样本(观察)和变量来创建大量的决策树(多个树,构成 ...

  3. 决策树ID3、决策树C4.5、决策树CART、CART树的生成、树的剪枝、从ID3到CART、从决策树生成规则、决策树优缺点

    决策树ID3.决策树C4.5.决策树CART.CART树的生成.树的剪枝.从ID3到CART.从决策树生成规则.决策树优缺点 目录

  4. CART决策树(分类回归树)分析及应用建模

    一.CART决策树模型概述(Classification And Regression Trees)   决策树是使用类似于一棵树的结构来表示类的划分,树的构建可以看成是变量(属性)选择的过程,内部节 ...

  5. 20172305 2018-2019-1 蓝墨云班课实验--哈夫曼树的编码

    20172305 2018-2019-1 蓝墨云班课实验--哈夫曼树的编码 实验要求 设有字符集:S={a,b,c,d,e,f,g,h,i,j,k,l,m,n.o.p.q,r,s,t,u,v,w,x, ...

  6. 第6-3课:博弈树与井字棋(Tic-Tac-Toe)

    上一课简单介绍了博弈树,从编程实现算法的角度看,博弈树是三种树中最简单的一种,无论是原理还是实现都不复杂.这一课,我们就以简单的井字棋(Tic-Tac-Toe)游戏为例,介绍一下如何用博弈树实现一个简 ...

  7. 第二课 决策树与随机森林

    本系列是七月算法机器学习课程笔记 文章目录 1 从LR到决策树 1.1 决策树 1.2 决策树的终止条件 1.3 决策树划分依据 1.3.1 信息熵 1.3.2 信息增益 1.3.3 ID3模型 1. ...

  8. 第八课 决策树和随机森林

    一.决策树原理概述 决策树通过把样本实例从根节点排列到某个叶子节点来对其进行分类. 树上的每个非叶子节点代表对一个属性取值的测试,其分支就代表测试的每个结果:而树上的每个叶子节点均代表一个分类的类别, ...

  9. 决策树——CART和模型树

    CART树 理解:      如果CART树处理离散型数据,叫做分类决策树,那么,引入基尼指数作为寻找最好的数据划分的依据,基尼指数越小,说明数据的"纯度越高",随机森林的代码里边 ...

最新文章

  1. 同一个内容,对比Java、C、PHP、Python的代码量,结局意外了
  2. Apache Avro
  3. Hybris产品主数据的价格折扣维护
  4. Spring Boot:开发常用的热部署方式汇总
  5. dwr运行时出现Servlet.init() for servlet dwr-invoker threw exception的解决方法
  6. Python实现快乐的数字
  7. Shell下syntax error: operand expected (error token is “-”)
  8. vscode 程序员鼓励师_把软萌程序猿鼓励师装进VScode?最强交互彩虹屁,GitHub2.5k星标...
  9. fpga板子怎么和电脑连_[笔记].怎样正确插拔FPGA开发板的JTAG仿真器,如USB-Blaster等?...
  10. 信呼协同办公系统-存储型XSS漏洞
  11. F5学习——Part 1(基于LTM模块的基本组网模式)
  12. linux hd4000显卡驱动,AMD Radeon HD 2000/HD 3000/HD 4000系列显卡驱动怎么样
  13. android和ios手机换行,ios label中文与数字混合导致换行解决
  14. 四步教你用网站源码建站
  15. FCC Advanced Algorithm Scripting
  16. Ubuntu 18.04.3 双屏显示其中一个屏幕黑屏无法使用的问题 显卡驱动安装问题
  17. 《信创数据库选型专项测试用例》分享
  18. 面向对象学不会看不懂?一文详解面向对象知识点总结
  19. DSL学习总结 -- 絮絮叨叨
  20. 12306抢票插件拖垮GitHub网站

热门文章

  1. @所有人,网易数字+大会报名通道正式开启!
  2. python range函数怎么表示无限_Python range() 函数 | 菜鸟教程
  3. 【高级数据结构】红黑树
  4. 记录下最近做的东西微信小程序仿微信朋友圈 支持点赞取消点赞,评论回复评论删除评,删除朋友圈 发布朋友圈查看@消息等功能
  5. Python 如何调用摄像头
  6. visual studio基本过滤器和内容过滤器
  7. 什么是SAD,SAE,SATD,SSD,SSE,MAD,MAE,MSD,MSE?
  8. 雷达测距 FPGA verilog代码
  9. win7计算机重装要多久,电脑多久重装一次系统|电脑系统多久需要重装一次
  10. 5G及无线技术专栏:5G NR信号的解调分析