我在网络空间的一家市场研究公司工作。我们花了我们所有的周期超过一年半的时间来构建这个领域的下一个重要事项,以便对我们的受访者进行概况分析(随着时间的推移),以便更好地将他们置于可用的调查中。我们的研究人员多次向我们提出的问题(这是正确的)是一个工具,它将证明这个新的分析系统的价值,并预测调整的结果,以及许多算法和规则,以显示规则集的哪个版本具有更好的结果。
我们的目标是能够利用我们的分析系统(给定时间内的Q& A数据的静态片段 - 性别:男/女,饮料:可乐/百事可乐/ mt.dew,收入:等等。)并通过我们的分析系统运行用户代理(人工开发的软件机器人或代理),以查看交互结果。由于Q& A数据是相同的,用户代理选择答案的能力是相同的,只有剖析器工作方式背后的算法和规则会发生变化 - 理论上这将允许我们预先确定任何结果。改变我们的系统。这个结果将允许我们在将更改推送到生产系统之前证明更改。我们希望能够在释放到野外之前更容易地发现任何错误。但这也可以让我们测试逻辑的变化,以便在分析器中寻找优化。
我的问题:对于像我这样的人(主要是C#/ .NET),他们真的只在Web应用程序领域工作过,我在哪里开始构建能够与外部交互的用户代理系统如我的分析系统?我特别需要知道如何启动1000(一千个)代理并让它们与我的分析系统(在给定的时间内)进行交互,方法是能够回答分析系统根据特征呈现给他们的问题在初始化时在用户代理上动态定义。
这方面的一个例子是我需要一些黑人代理人,一些中国代理人,一些男性代理人,一些女性代理人,一些老代理人,一些新代理人,一些宗教代理人,一些喝可乐,等等。混合在一起最适合世界。我们已经有了人口统计数据,因此我们可以很容易地将10%的黑人男性,60%的白人女性留在家庭母亲以及我们所有人口的所有其他代表中。
我对创建这样一个系统的第一个想法是使用我的XBOX 360的强大功能,以及一些经过深思熟虑的代理,它们类似于面向对象世界中具有某些附加特征的人能够聪明地回答一些问题......并猜测其他问题。
在与我的同事谈话时,有人建议我使用一些人工智能框架和一个1000 cpu显卡(我们已经有一个)来从大量用户代理中获得一些超级恶劣的快速性能。每个CPU都是代理...(类似这样)。
有没有人在这方面有经验?用虚构的世界模型来证明问题?
答案 0 :(得分:0)
你说“与外部系统交互” - 这个系统的界面是什么,一个人如何使用它?是在网上吗?如果是这样,你就会浪费时间考虑GPU优化等,因为你的性能瓶颈将是网络,甚至是局域网。在这种情况下,您也可以按顺序运行代理。即使你可以同时有效地产生1000个代理(也许是在多台机器上),你很可能会在意外的拒绝服务攻击中削弱目标服务器,所以它会适得其反。但是,如果您能够更改该接口以允许直接进程间通信,则可以回过头来考虑大规模并行方法。但是1000在计算方面并不是一个很大的数字。您可能花费更多的时间来使算法并行运行,而不是通过这种方式保存算法。
至于“人工智能框架”,我认为没有任何东西可以帮助你。人工智能和智能代理是一个庞大的领域 - 书籍Artificial Intelligence: A Modern Approach是关于智能代理的标准介绍性文本,长度超过1000页,包含20或30种完全独立的技术,其中许多可以应用于您的问题,许多其中不会。如果您可以更清楚地指定代理必须执行的任务,以及执行这些决策的输入,那么选择合适的技术就成为可能。事实上,如果你在代理人口统计和决策制定之间有一个清晰的映射,你可能会发现你的问题根本不需要AI - 你只需从你之前制作的表中查找答案即可使用。因此,找出你实际上首先要解决的问题非常重要。