1

我在一家在线市场研究公司工作。在一年半的时间里,我们一直在花费我们所有的周期来构建这个领域的下一件大事,以分析我们的受访者(随着时间的推移),以便更好地将他们置于可用的调查中。我们的一位研究人员多次(正确地)问我们的东西是一种工具,它将证明这个新的分析系统的价值并预测调整它的许多算法和规则的结果,以显示哪个版本的规则集有一个更好的结果。

目标是能够获取我们的分析系统的一部分(给定时间的问答数据的静态切片 - 性别:男性/女性,饮料:可乐/百事可乐/mt.dew,收入:等)并运行用户代理(人工开发的软件机器人或代理)通过我们的分析系统查看交互结果。由于问答数据相同,用户代理选择答案的能力将相同,只有分析器工作方式背后的算法和规则会改变——理论上这将允许我们预先确定任何更改的结果我们的系统。然后,此结果将允许我们在将更改推送到我们的生产系统之前证明更改。希望我们可以在发布到野外之前更容易地捕获任何错误。

我的问题: 对于像我这样真正只在 Web 应用程序领域工作的人(主要是 C#/.NET),我从哪里开始构建能够与外部系统(例如我的分析系统)交互的用户代理? 我特别需要知道如何启动 1000(一千)个代理并让它们与我的分析系统交互(在给定的时间内),方法是能够回答分析系统根据特征向他们提出的问题在初始化时在用户代理上动态定义的。

举个例子,我需要一些黑人特工,一些中国特工,一些男性特工,一些女性特工,一些老特工,一些新特工,一些宗教特工,一些喝可乐的特工等等。最恰当地类似于世界。我们已经对我们的人口进行了人口统计细分,因此我们可以轻松地增加 10% 的黑人男性、60% 的白人女性留在家里的母亲,以及我们人口的所有其他代表。

我创建这样一个系统的第一个想法是使用我的 XBOX 360 的强大功能,以及一些经过深思熟虑的代理,这些代理类似于来自面向对象世界的人,具有一些附加特征,能够智能地回答一些问题......和猜测别人。

在与我的同事交谈时,有人建议我使用一些人工智能框架和一个 1000 cpu 显卡(我们已经有一个)从大量的用户代理中获得一些超快的性能。每个CPU都是一个代理......(像这样)。

有没有人有这种事情的经验?用虚构的世界模型证明问题?

4

1 回答 1

0

你说“与外部系统交互”——这个系统的接口是什么,人们如何使用它?是通过网络吗?如果是这样,您就是在浪费时间考虑 GPU 优化等,因为您的性能瓶颈将是网络,甚至是 LAN。在这种情况下,您最好只按顺序运行代理。即使您可以有效地同时生成 1000 个代理(可能跨多台机器),您也很有可能会在意外拒绝服务攻击中削弱目标服务器,因此会适得其反。但是,如果您能够更改该接口以允许直接的进程间通信,则可以重新考虑大规模并行方法。但是在计算方面,1000 并不是一个很大的数字。很可能你'

至于“人工智能框架”,我认为没有什么非常模糊的东西可以帮助你。人工智能和智能代理是一个庞大的领域——《人工智能:现代方法》一书这是关于智能代理的标准介绍性文本,长达 1000 多页,可能包含 20 或 30 种完全独立的技术,其中许多可能适用于您的问题,其中许多不适用于您的问题。如果您可以更清楚地指定代理必须执行哪些任务,以及它有哪些输入来做出这些决定,那么选择一种体面的技术成为可能。事实上,如果您在代理人口统计数据和决策制定之间有清晰的映射,您的问题可能根本不需要人工智能 - 您只需从之前制作的表格中查找要使用的答案。因此,重要的是要首先弄清楚您实际上要解决的问题。

于 2009-07-11T12:06:35.250 回答