1

我爲在線領域的市場研究公司工作。我們花了我們所有的週期在一年半的時間裏構建了這個領域的下一個重要事情,關於分析我們的受訪者(隨着時間的推移),以更好地將它們放置在可用的調查中。我們的研究人員多次問過我們的東西(正確)是一個工具,它將證明這個新的性能分析系統的價值,並預測對許多算法和規則的調整結果,以顯示哪個版本的規則集具有一個更好的結果。使用遊戲概念構建用於市場研究目的的用戶代理

我們的目標是能夠拍攝我們的性能分析系統(靜態片段Q &一個給定時間的數據 - 性別:男性/女性,飲料:可樂/百事可樂/ mt.dew,收入:等等),並通過我們的分析系統運行用戶代理(人工開發的軟件機器人或代理),以瞭解交互結果。由於數據是相同的,所以用戶代理選擇答案的能力將是相同的,並且只有在探查器工作方式背後的算法和規則將會改變 - 理論上這將允許我們預先確定任何結果改變我們的系統。這個結果將允許我們在將更改推送到我們的生產系統之前進行更改。我們希望能在發佈之前更容易地發現任何錯誤。但是,這也可以讓我們測試對邏輯進行的更改,以便在探查器中尋找優化。

我的問題:對於像我這樣的人(主要是C#/ .NET),他確實只在Web應用程序領域工作過,我在哪裏開始構建能夠與外部系統交互的用戶代理比如我的分析系統?我特別需要知道如何啓動1000個(1000個)代理,並通過能夠回答由配置系統根據特徵呈現給他們的問題來讓他們與我的配置系統進行交互(在給定時間內)它們在初始化時在用戶代理上動態定義。

這方面的一個例子是,我需要一些黑代理,一些中國代理商,一些男劑,一些女特工,一些老藥,一些新的藥物,一些宗教劑,一些喝可樂等及他們混合在一起,最適合與世界相似。我們的人口已經有了人口分佈,所以我們可以輕鬆搞定10%的黑人男性,60%的白人女性留在家中的母親,以及我們人口的所有其他代表。

我創造這樣一個系統的第一個想法是使用我的XBOX 360的力量,並從增加了一些特色的面向對象的世界就像一個人的一些深思熟慮的代理商能夠智能回答一些問題......並猜測其他人。

在與我的同事交談時,有人建議我使用一些人工智能框架和一個1000 cpu圖形卡(我們已經有一個)來從用戶代理中獲得一些超級惡意的快速性能。每個CPU都是代理的地方......(像這樣)。

有沒有人在那裏有這種事情的經驗?用虛構的世界模型來證明問題?

回答

0

你說「與外部系統互動」 - 這個系統的接口是什麼,一個人如何使用它?它通過網絡嗎?如果是這樣,那麼你會浪費你的時間去思考GPU優化等等,因爲你的性能瓶頸將是網絡,甚至是局域網。在這種情況下,您可以順序運行代理。即使您可以同時有效地產生1000個代理(可能跨越多臺機器),您很可能會在意外拒絕服務攻擊中癱瘓目標服務器,因此這會起反作用。但是,如果您有能力更改該接口以允許直接進程間通信,則可以回到考慮大規模並行方式。但是在計算方面,1000並不是一個大數字。您可能花更多時間讓算法平行運行,而不是通過這種方式來節省。

至於'人工智能框架',我不認爲有什麼太模糊的東西可以幫到你。人工智能和智能代理是一個巨大的領域 - 書Artificial Intelligence: A Modern Approach這是一個智能代理的標準介紹文本超過1000頁長,可能包含20或30完全獨立的技術,其中許多可以適用於您的問題,其中許多贏得'噸。如果您可以更清楚地指定代理必須執行哪些任務以及哪些輸入用於做出這些決策,則可以選擇體面的技術。事實上,如果您在代理人員統計和決策制定之間有明確的映射關係,您可能會發現您的問題根本不需要人工智能 - 您只需從您之前製作的表格中查找答案即可。因此,首先解決你實際想要解決的問題非常重要。

+0

代理可以與我們的項目使用的程序集進行交互,詢問問題。有些問題我們會有我們可以使用的歷史答案。其他問題,我們將不得不選擇其中一個可能的答案(多選題型問題)。這個系統(最簡單)只是提出一個問題。根據他們的答案(也就是說根據他們的個人資料),他們(代理人/人)將被路由到適當的位置。我可以控制所有系統,因此可以使本地和高效的一切! – 2009-07-11 20:27:02