记得小时候用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. 程志明就智慧城市建设要求 完善基础设施提升管理水平
  2. 英语影视台词---六、Saving Private Ryan Quotes
  3. JavaFX SceneBuilder设置按钮的背景颜色
  4. WebBrowser控件跨域访问页面内容
  5. 再看Kafka Lag
  6. c语言结构体单元测试,C语言结构体单元练习.doc
  7. ssh ssm mybitis逆向工程 项目 简易版下载 (经典适用初学者)
  8. RSTP比STP快在哪?
  9. Adobe Photoshop CC 2019( adobe ps cc)果然不一般
  10. MTK芯片资料分享,2018MTK芯片资料大全
  11. bjui ajax.js,B-JUI 前端管理框架
  12. PR基础学习(二) 导入和预览素材视频
  13. 网页动画--鲜花爱心表白动画
  14. easyui树mysql_Easyui 创建异步树形菜单_EasyUI 教程
  15. 针对L型区域的椭圆方程的差分法
  16. 传统行业也很冷:星美影院欠债4个亿,关停140家分店
  17. 鹰偶尔飞的比鸡低,但鸡永远也飞不了鹰那么高!
  18. ESP32 CAM CameraWebServer示例测试
  19. Linux的tar命令
  20. 音频学习之-g711

热门文章

  1. 谈谈对python 和其他语言的区别_谈谈Python和其他语言的区别
  2. Django创建项目后,项目文件夹下的组成部分
  3. 两台linux之间传递文件
  4. 华硕笔记本,宽带连上,可以上网, 但收到不无线
  5. Log4J入门教程(一) 入门例程
  6. ES6类的使用和定义.Json.Promise对象的使用
  7. python bp神经网络 异或_基于python的BP神经网络及异或实现过程解析
  8. nginx服务器的文件大小的限制解决方法
  9. Linux内核链表的移植与使用
  10. redhat下给普通用户增加sudo命令,让他可以获得修改等权限