V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  nekoharuya  ›  全部回复第 3 页 / 共 3 页
回复总数  52
1  2  3  
2023-05-22 16:24:19 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@thorneLiu 几个方面,一则这个项目开发了五年,数据结构之类的设计上和 python 强耦合,利用了大量的 python 的特性和设计思想,另一方面,python 的生态还是可以的,我用了许多三方库来解决问题,社区的拖拉机还是很可以的,比如用 numpy 实现,以 value 作为随机区间,随机选择一个 key ,比起我直接拿 python 写二分法,要快 40%,又或者我写的蚁群算法依赖近似度检索,chatgpt 给我挑了一堆库多半都是炼丹来实现的,我直接拿来就用,不用去关心它的设计原理,
2023-05-22 15:57:20 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@antonius 倒也没有在虚空优化,火焰图之类的东西有在用,print 也打得多,各有优缺吧吧,但是常规的手段只能排查一些明显的瓶颈,通常也通过预热数据来解决了,比如游戏中场景树相当复杂,节点到节点之间的移动找不到什么有效的算法,最后选择上数据预热,例如在 github 的流水线中打包的时候,就把所有可能的,结果到节点之间的移动的最短路线创建好,比起死磕这块,不过直接从算法上完全避免,
2023-05-22 15:26:34 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@zglzy 其实有尝试过,但是,数据传递和数据类型转换的成本相当的高,再者就是高度耦合的问题,详看我在 8 楼的回复
2023-05-22 15:23:54 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@antonius utility-based ai system 实质上是被包含在这个算法的条件随机场(Conditional Random Field)中了,效用(utility),即 crf 中,验证函数通过世界变量获取到的条件权重,在人类的思考过程中,并不总是选择最优策略,但总的来说,人类总是更倾向于更有利的选择,所以这里做了个随机场来实现这一点,权重越大,选择对应目标的概率就越大
2023-05-22 14:58:52 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@antonius PreCondition 这块的处理也是有的,核心是通过实现建立好的 hash 表,从 Goal 去查它绑定的 PreCondition ,当 PreCondition 不能满足的时候,又通过事先建立好的 hash 表,从 Effect 去反查能够满足他的 Goal ,只有一个 Goal 能满足的时候就返回它,有多个的时候就通过权重抽一个,某个 Goal 有某个 PreCondition 不能满足的时候,就又递归一层,通过对数据结构的调整,以及对数据进行预热,来优化这块的时间复杂度,尽可能的做到 O1 ,至少我刚才回忆了一下,只有一两处实在绕不开的地方是 On ,底层架构的话,我已经做了非常多的优化,我的能力所限,现在要继续优化也完全找不到新的思路
2023-05-22 12:54:09 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@kepenj github 上搜 dieloli 就是了,帖子里说的算法自然是成品,这个游戏我做了五年了
2023-05-22 12:13:30 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@thorneLiu 主要是 gpu 只能解决特定算法问题,参考上面我对 txhwind 的回复
2023-05-22 12:07:32 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@txhwind 在这套设计里,作为核心,也就是性能瓶颈最大的 crf ,和对象化的数据结构强耦合,详细来说,我通过装饰器,注册了几千个验证世界状态的函数,它们各自之间,又有一些逻辑处理,同时也必须非向量化的处理角色的属性数据,各种状态验证中,验证角色之间的社交关系,好感度,当前位置,历史状态的也不在少数,我目前应该是没有能力完成向 c 的迁移
2023-05-22 12:03:12 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@antonius 时间切片之类的在行为跨度短的时候有效,但是第一次启动时,所有角色都在查找可用的目标,其实也是一个比较大的瓶颈,玩家选择睡觉这种操作的时候,步进跨度比较大,要卡很久,也是常受玩家诟病的,设计上,其实是选择了状态机和时间切片耦合的办法,ai 找到目标后就进入了状态机,状态结束后才重新查找,另外蚁群优化也是降低查询次数的方案,找到了近邻角色以后,按相似度和信息素作为决定是否模仿对方的行为的概率
2023-05-22 07:32:44 +08:00
回复了 nekoharuya 创建的主题 程序员 有人对游戏 ai 设计感兴趣无
@Eddition 可以详细解释下吗,请原谅我没看懂
2019-02-19 16:03:30 +08:00
回复了 MrRabbit 创建的主题 酷工作 一群肥宅(深圳)网络科技有限公司 招聘 薪资 0
倒不是不感兴趣,就是你岗位招得太......传统了,php,android,ios,vue......
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4943 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 08:17 · PVG 16:17 · LAX 01:17 · JFK 04:17
Developed with CodeLauncher
♥ Do have faith in what you're doing.