记得小时候用LOGO语言做过一些让小海龟在屏幕上画图的程序,当时觉得那很简单,也很自然,就几条简单的指令就可以让它画出不可思议的复杂图形来。当时我是不知道在这语言的背后是一个多么复杂的系统,只是用这简单的控制语句就可以画出图形来。
上面说明了一个问题要想很好的操作一个对象就的制定一个很好的通用语言。程序中的程序,也就是说最好应该有个虚拟机来运行智能控制语言。在AI控制层上我们不能去直接写底层代码,那会使问题变得复杂万分,涉及太多的细节,而无法写出漂亮的AI表现。

目标1:建立一个脚本程序用来间接控制对象。

关于AI底层功能的需求,大概分为:环境知识,组队效果,攻击能力,生存本能。
环境知识,是一个AI体应该懂得根据周围的环境获得有用的信息来影响思考。
组队效果,是要在大局上的AI处理,AI体能够根据其他的活动单位影响思考。
攻击能力,是AI体能根据自身的各种能力,攻击,移动,能够做的动作和行为来影响思考。
生存本能,如何达成目标,自己如何失败,必须有目标,才能有意义。

关键问题:我打算从一些关键字来说明我的看法。
环境信息;
目标;
行为;
任务;

思考核心在于目标,有了目标,就会根据环境信息下达任务驱动行为。

// 环境类,包含所有AI需要的信息,可能跟灵活的方法是根本不定义,
// 直接从游戏中取出,放在这里只是说明有这样一个虚构的事物,说明包括一
// 个环境。
class CEnvironment
{
public:
    int m_iSomething;
    any m_aSomething;
    ref m_rSomething;
};

// 游戏中的将要由AI控制的对象
class IObject
{
};
// 游戏中有行为的对象
class IActionObject : public IObject
{
};
// 游戏中要求AI控制的对象
class ITaskRunnerObject : public IActionObject
{
    virtual OnReciveAITask( void* pTask )=0;
};

// AI对象,我命名为AIWorker,因为AI我的感觉就像是管理行为的工作者。
interface IAIWorker : public IUnknown
{
    virtual HRESULT QueryInterface( IID iid, LPVOID* lpWorker );
}

// AI实际对象,在游戏中有很多个AI对象,他们按照DoScript里的脚本完成
//思考,并下发任务。
class CAIWorker
{
public:

void IntentThinking()
    {
        //分析环境
        //分析目标
        //分析任务

// 整个这部分准备提出AI语言,DoScript();
    }

void ProcessTask()
    {
        m_pIntro->OnReciveAITalk(m_TaskList.pop());
    }

protected:

LeadupList m_GoalList;
    LeadupList m_TaskList;
    CEnvironment env;
    ITaskRunnerObject *m_pItro;

};

转载于:https://www.cnblogs.com/Anima64/archive/2007/01/13/619485.html

一个AI设计的思考过程(旧文)相关推荐

  1. 如何用AI设计一幅杂志封面

    我们如何通过AI来设计一幅海报? 首先解决这个问题我们需要思考,设计师是如何设计的?(这里以非专业平面设计师的我的思路参考) 1.了解是需要设计哪种类型的封面海报. 2.查看设计要素,如甲方提供的图片 ...

  2. 一个.NET软件的破解过程

    [ 破文标题 ] 一个.NET 软件的 破解过程 [ 破文作者 ] 王者之剑(hj2008mt) [ 作者邮箱 ] hj2008mt@163.com [ 作者主页 ] bbs.huacolor.com ...

  3. 京东AI发起人周伯文离职,周伯文与京东的几年 | 旧文重读

     关注ITValue,看企业级最新鲜.最价值报道! 11月16日消息,据36氪报道,京东技术委员会主席周伯文已正式从京东离职,将于AI方向创业.在被刘强东挖到京东后,周伯文一度统管京东云.人工智能.I ...

  4. 我开发了一个AI网站,速速围观,文末全是福利

    目录 前言 AI大侠能提供什么功能 AI聊天 AI写作 AI编程 AI绘画 以及其它近10种AI工具 AI大侠后续功能计划 SQL优化 共建计划 写到最后 大家好,我是大侠,AI领域的专业博主 前言 ...

  5. 「镁客·请讲」慧川智能康洪文:打造一个“AI+视频云平台”的中央厨房

    同样是视频制作,但慧川智能却想要从根源处进行突破,将制作主体由人变为AI. 眼下,以抖音.快手.梨视频为主要代表的短视频领域逐渐崛起.有数据显示,2017年短视频市场规模达57.3亿,同比增长达183 ...

  6. 【旧文重新排版】借 Go 语言 database/sql 包谈数据库驱动和连接池设计

    文 | jiayangchen 封面图片 | Unsplash 因为之前的文章感觉排版太差了,不容易阅读 接下来会把一些旧文重新排版再发一下 即使你不了解 Go 语言,阅读本文也不会有障碍 1. 什么 ...

  7. 《面向对象的思考过程(原书第4版)》一2.2 使用抽象思维设计接口

    本节书摘来自华章出版社<面向对象的思考过程(原书第4版)>一书中的第2章,第2.2节,[美] 马特·魏斯费尔德(Matt Weisfeld) 著黄博文 译更多章节内容可以访问云栖社区&qu ...

  8. 基于 openGauss 的五子棋 AI 项目,openGauss 设计一个 AI 小 demo

    目录 1 前言 2 方案意义 3 架构设计 4 数据表设计 5 代码结构 6 项目演示 7 总结 1 前言 openGauss 是一款全面友好开放的企业级开源关系型数据库.openGauss 采用木兰 ...

  9. 一文带你了解微软推出的Microsoft Designer AI设计工具

    目录 1.Microsoft Designer是什么? 2.Microsoft Designer工作原理 3.Microsoft Designer工作步骤 4.Microsoft Designer的功 ...

最新文章

  1. Dubbo基础专题——第四章(Dubbo整合Nacos分析细节点)
  2. 【评论】一个老程序员的建议
  3. Python与常见加密方式
  4. 雅虎将于4月底关闭自助式广告测试
  5. elasticsearch-jdbc实现MySQL同步到ElasticSearch深入详解
  6. 图像基础知识 —— Opencv图像处理
  7. python获取列表序号_确定列表中的序列号(Python)
  8. Win10安装配置CLion+MinGW
  9. 方方格子access_FX Console(AE工作流程插件)
  10. 假面骑士鸿蒙系统,《假面骑士》街机游戏,这样组合太棒了!
  11. 计算机可移动磁盘无法显示图片,移动硬盘显示不出来怎么办 移动硬盘不显示解决办法【详解】...
  12. ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?
  13. 怎么把移动硬盘挂载到linux,linux 怎么挂载移动硬盘
  14. 基于Android的校园导航电子地图软件
  15. 解释太阳能量来源《张朝阳的物理课》估算太阳寿命约百亿年
  16. Android GridView的使用
  17. php安装过程,php怎么安装教程
  18. JAVA cmd 命令运行 jar 包
  19. mysql的real类型_MSSQL数据类型-浮点数据类型 (real、float、decimal、numeric)
  20. Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材

热门文章

  1. utm虚拟机安装linux,UTM: 在 iOS 上安装 Windows 或 Linux 等系统及虚机安装过程
  2. 未正确安装master data services_GP数据库安装
  3. mysql显错注入,SQL注入:显错注入
  4. php重载,PHP重载基础知识回顾
  5. mybatis in集合查询
  6. AI将给教育带来巨变,但学校和老师的价值不可替代
  7. python数据分析之pandas里的Series
  8. 基础练习 字母图形 c语言
  9. 《挖财编程题》水花仙数
  10. spark之5:配置文件