我目前正在攻读计算机科学的荣誉,并将人工智能作为一门学科。作为完成课题的一部分,我必须开发自己的基本智能代理。
我还没有意识到我到底要为这个项目做些什么。我不是技术上最有天赋的程序员,我不知道该做什么,也不知道从哪里开始
有人能指点我在哪里开始学习如何开发一个智能代理,以及任何可能的想法,为一个项目实际做什么?这个项目的要求是非常模糊的,因为我们没有被告知这个项目应该有多技术性或多大。(希望不要太大,因为我还有另外8个需要项目的科目)。
任何VB.net参考也将不胜感激。(我知道这不是开发IA的最佳语言,但由于时间的限制,这是我“觉得”最舒服的编程语言)。
发布于 2012-02-16 11:28:57
首先,不要担心人工智能部分。使用人工智能的程序就像其他程序一样。从输入和输出的角度开始思考。对于一个智能代理,这意味着您正在感知您的环境,并且您可以调用环境上的操作。例如,您正在编写电影命令引擎:
您的行为,将导致环境变化,例如,您的用户可能会看电影,虽然这不会立即发生,也不能保证。
在内部,您可以使用类中提供的算法,您可以开始简单地使用K近邻。在这种情况下,您希望找到与当前用户有相似兴趣的用户,然后推荐给他看一部他还没有看过但他的近邻喜欢的电影。
现在,如何定义close?好吧,这就是特征向量出现的地方,实际上,这是你将面临的唯一挑战。一旦你有了特征向量,你要应用的算法就不重要了。在我们的例子中,您可以通过用户的评分来代表他。因此,如果系统中只有5部电影,而你的用户喜欢电影A和B,不喜欢C,没有看过D和E,他的特征向量是[1,1,-1,0,0]。计算与所有其他用户的距离,然后找一部他还没有看过的电影(D和E),并在他最近的k个同龄人中计算出这些电影的得分。推荐的电影将是得分最高的电影。
发布于 2012-02-16 13:09:17
最基本的智能代理开发,将是简单的BDI (信念-欲望-意图)代理。基本上,您有一组基本信念(可能是正确或错误的谓词),用于描述所观察到的环境状态,您有导致推断信念的推理规则。你有欲望,这是对理想信念状态的描述。您有一组操作,它们是将一个信念集转换为另一个信念集的函数,修改其中的一些操作。计划是一连串的行动。意图是代理人选择执行的行动(计划)。
发布于 2012-02-16 12:04:59
我在学术界有一门基于代理的课程,“MultiAgent系统简介”是我的教科书。这是作者关于这本书当前版本的页面,如果你想看一看的话。
https://softwareengineering.stackexchange.com/questions/135360
复制相似问题