在以各种“XX学习”为代表的人工智能技术普及之前,游戏里常见的角色 AI 都是各种预设的行为逻辑,比如博弈树和行为树,当然也会用到各种专家知识库。当这些预设的行为逻辑足够复杂的时候,往往会让游戏玩家觉得游戏里的人物很“智能”。从本质上来说,这些都还不算是真正的 AI,但也能够给游戏的体验增加很多乐趣,这一课我们就来介绍三种常见的给角色预设行为逻辑的方法,分别是决策树、博弈树和行为树。
决策树(Decision Tree)
在介绍决策树之前,先说一下分类算法,它是机器学习领域里的基本算法之一,常见的分类算法有贝叶斯分类算法、KNN 算法、逻辑回归算法、神经网络算法等,当然,还有各种深度学习算法。决策树是一种简单但广泛使用的分类器,因此,决策树也是一种分类算法。
决策树长什么样
决策树易于理解,通过解释后就能知道决策树所表达的意义了。决策树的每个内部节点表示在一个属性上的测试,每个分支代表该测试的一个输出,而每个树叶结点则代表一个分类标记,所谓的分类标记其实就是分类结果,比如“Yes”或“No”。
图(1)相亲决策示意图
图(1)就是一个“疑似”决策树的示意图,这是一个姑娘的相亲决策。之所以用“疑似”来形容,是因为这个决策树上的判断条件都太主观、太抽象、没有量化。什么意思呢?比如说“年轻”这个条件,多少岁算年轻,多少岁算年老呢