当前位置: 首页 > news >正文

Games104现代游戏引擎入门-lecture17游戏引擎的Gameplay玩法系统基础_Advanced AI

1 Hierachical Tasks Network

层次任务网络:从任务目标出发的

在这里插入图片描述
核心思想:定个计划,若干个完成的子任务。
在这里插入图片描述

1 HTN框架

在这里插入图片描述

在这里插入图片描述

2 HTN Task Type

在这里插入图片描述

1 Primitive Task原子任务

在这里插入图片描述
在这里插入图片描述

2 复合任务

在这里插入图片描述

很方便构建自己的思维的行为树 。
在这里插入图片描述

3 HTN Domain

在这里插入图片描述

HTN:可以和一般人进行沟通,行为树比骄傲麻烦
在这里插入图片描述

4 Planning

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后形成的是原子任务
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Replan是非常重要的。
在这里插入图片描述

5 总结

不好的地方:无法预测,任务可能失败。
对于设计师是有竞争的。
计划长 过于缜密,会有问题。
在这里插入图片描述

2 Goal oritented Action Planning

规划:
目标导向行为规划
在这里插入图片描述

1 结构:

目标:在htn中没有显示的显示出来
但是在GOAP中是写的很清楚的。
是规划问题,不是计划问题。
在这里插入图片描述

2 Goal set

在这里插入图片描述

3 Goal selection

在这里插入图片描述

4 Action set

增加了额外的cost。
所有的动态规划问题都要考虑cost。在这里插入图片描述

倒着去计划我的goal state。很像人类倒叙的思考方法。
在这里插入图片描述

5 planning

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
规划出一条路径,最后让unstatisfied states栈清空。

动态规划是一个np问题。

在这里插入图片描述
根据我的目标,展开成一个巨大的图,寻找一个最短路径。使用A*算法
在这里插入图片描述

6 总结

第一次将目标和行为分开来。AI的行为很精彩。
缺点:计算量大;游戏的状态表达成定量的表达。

在这里插入图片描述

3 蒙特卡洛树搜索(MCTS)

在这里插入图片描述
在这里插入图片描述

1 蒙特卡洛方法

在这里插入图片描述

2 MCTS

在这里插入图片描述

抽象为数学模型:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3 模拟

在这里插入图片描述

在这里插入图片描述

反向推导:

在这里插入图片描述

迭代:

在这里插入图片描述
在这里插入图片描述

4 Selection

在这里插入图片描述
开发,探索。
在这里插入图片描述

UCB

在这里插入图片描述
C----小,就保守点。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

LCB

C的设置就是调了。

在这里插入图片描述

5 总结

对于复杂游戏很难定义赢还是输,不一定可以适合所有的游戏。
输出是非常明确的,MTCS是很符合的,否则不能只用MCTS。

在这里插入图片描述

4 deeplearning

1 Mechine learning Basic

在这里插入图片描述

1 监督学习

核心基础是分类器。这个需要大量的数据,
在这里插入图片描述

2 无监督学习

在这里插入图片描述

3 半监督学习

半监督学习。
在这里插入图片描述

4 强化学习

没有监督者,没有人告诉你是对的,还是错的,做对了有奖励,做错了有惩罚。

在这里插入图片描述

在这里插入图片描述

1 马尔可夫

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Policy:黑箱,

在这里插入图片描述
在这里插入图片描述

2 machine learning in game AI

在这里插入图片描述
游戏的状态
在这里插入图片描述

时间状态的描述;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 训练策略

用监督学习训练相对可以的网络,选择什么样的数据集去训练呢
选择比较优秀的玩家的数据。

在这里插入图片描述

然后强化学习:
在这里插入图片描述
在这里插入图片描述
最怕做到局部最优解,而不是全局最优解。

5 问题

在这里插入图片描述

在这里插入图片描述

目前在cpu上。
在这里插入图片描述

6 视频

上:
https://www.bilibili.com/video/BV1iG4y1i78Q/?spm_id_from=333.788
下:
https://www.bilibili.com/video/BV1ja411U7zK/?spm_id_from=333.788&vd_source=5c9c50b5a07b211beafdf65d7cc7f8c8

相关文章:

  • [JS]数据类型
  • Transformer 无卷积骨干网络
  • 服务器安全狗是什么意思?有什么功能?
  • MySQL主从复制与读写分离
  • Mysql 面试题
  • 找回过期的微信文件,赶紧收藏这4个方法!
  • dsox4034a是德科技Keysight DSOX4034A示波器
  • [网鼎杯 2018]Fakebook
  • 《32天SQL筑基》导读
  • 【云原生 | Kubernetes 系列】--Envoy Tcp请求静态配置
  • 【牛客 - 剑指offer】JZ61 扑克牌顺子 两种方案 Java实现
  • 写对比学习损失函数有感(关于速度差异、出现nan的情况)
  • Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day03】——Java高级篇
  • SHRM-人力资源必备的顶流证书
  • 【软件测试】软件测试的相关概念(面试常考)
  • Angular 响应式表单之下拉框
  • ES6--对象的扩展
  • Flex布局到底解决了什么问题
  • git 常用命令
  • javascript 哈希表
  • JS数组方法汇总
  • 聊聊directory traversal attack
  • 码农张的Bug人生 - 初来乍到
  • 前端技术周刊 2019-02-11 Serverless
  • 使用 Docker 部署 Spring Boot项目
  • 与 ConTeXt MkIV 官方文档的接驳
  • nb
  • 整理一些计算机基础知识!
  • 正则表达式-基础知识Review
  • #Java第九次作业--输入输出流和文件操作
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (1)Nginx简介和安装教程
  • (6)添加vue-cookie
  • (C#)一个最简单的链表类
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (转)Unity3DUnity3D在android下调试
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net 托管代码与非托管代码
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .Net7 环境安装配置
  • .NET开发人员必知的八个网站
  • .NET运行机制
  • @ConfigurationProperties注解对数据的自动封装
  • [2023-年度总结]凡是过往,皆为序章
  • [Android]一个简单使用Handler做Timer的例子
  • [ANT] 项目中应用ANT
  • [C++]C++入门--引用
  • [CTO札记]如何测试用户接受度?
  • [HDOJ4911]Inversion
  • [hdu4622 Reincarnation]后缀数组
  • [HOW TO]如何在iPhone应用程序中发送邮件
  • [Java][Liferay] File system in liferay
  • [java后端研发]——文件上传与下载(2种方式)
  • [JDK工具-2] javap 类文件解析工具-帮助理解class文件,了解Java编译器机制