1、1簡介假定我們要到歐洲自助旅遊,希望能在個人喜好與時間及預算的限制下,安排最佳的行程。我們可以請熟悉的旅行社協助,也可以自行到各個旅遊有關網站搜尋整理,但總覺得費事。如果有一個完全了解我們喜好並熟悉旅遊事務的助手,能依照時間與預算的限制,到各航空公司、旅館、租車公司、博物館等等,安排時程,訂好機票與住宿,我們旅行的準備當可輕鬆許多。這樣的助手我們通常請不起,但是電腦軟體如果也能有這樣的能力,它的價格應該要便宜得多。具有類似上述功能的軟體程式通常稱為智慧型代理程式( Intelligent Agents)。智慧型代理程式是一種特殊的軟體程式,用以協助使用者達成某種目標。智慧型代理程式的特點為代理
2、性( Agency )、智慧性( Intelligence )、可移動性( Mobility )、多代理程式間的可協調性( Cooperation ),不過也有人認為可移動性並非必需。所謂代理性,通常就是程式的自主性( Autonomy ),也就是程式在不同環境底下,可以代表使用者採取行動的程度。低自主性的代理程式也許只能提供使用者建議,但是不能做最後決定,而高自主性的代理程式則獲得比較高的授權,直接採取單方面行動。代理程式自主性的高低常視情況及使用者對其的信任程度而定。例如,在前述的旅遊情境中,代理程式將各種行程排列出來供我們選擇,這時代理程式的自主性不算高;接下來代理程式代表我們直接與旅行
3、社等討價還價,甚至付出訂金,則其自主性就相當高了。為使代理程式有較高的代理性,代理程式必須有相當的智慧( Intelligence ),才能在不同環境底下,均能達成使用者設定的目標。例如,智慧型旅遊安排代理程式幫我們決定最適當的景點參觀順序,或與旅行社討價還價,都需要很好的智慧能力。代理程式具有相當能力後,我們自然希望代理程式能具有在網路上移動,增加其活動範圍,提高效率。例如前述的旅遊代理程式,如果在我們的電腦上執行,它與各旅遊網站的訊息交換必然十分頻繁,加重網路負荷( 圖 1(a) )。如果代理程式可以遊走網路,程式可以逐一到各個旅遊網站的伺服電腦執行,最後再將結果帶回;此時所需的訊息交換均
4、在各網站電腦內進行,不必佔用網路頻寬,我們的電腦也可空出來進行其他工作( 圖 1(b) )。2圖 1. (a) 直接與伺服電腦交換訊息 (b) 利用可移動代理程式正如同人類一般,多個代理程式合作以達到目標,要比憑藉單一代理程式完成要容易的多,因此多個代理程式彼此的協調溝通,便是一項重要的課題。例如前述的旅遊安排代理程式,可以將討價還價的部分獨立出來,成為專責購買商品的智慧型代理程式,一方面降低旅遊安排代理程式複雜度,一方面也可用於其他的商務應用中。另外,在討價還價的過程中,旅遊網站也必須提供專業售賣代理程式,買賣才易於進行。有了買賣代理程式之後,如何讓他們找到買賣的對象、了解彼此的需求、辨識彼
5、此的身分權限、防止詐欺等等,都需要深入的研究。由以上的介紹,可以知道智慧型代理程式深具應用價值,國際間的研究與實際用於工業製造及網際網路服務極為熱烈( 參看文末所附參考文獻及網址 )。但要使智慧型代理程式普及於人類生活,除了技術性問題外,尚有許多包括安全性及法律倫理等方面的社會問題需要解決( 參考文獻1 )。因程式移動性之實作較為困難,本實驗教材以介紹代理程式可移動性的實作方法為目標。全部實驗以跨平台,適於網路應用之物件導向程式語言 Java 進行。實驗設備均為個人電腦及 Java 2 語言發展工具集 ( JDK 1.3 或以後之版本 )或整體發展環境如 JBuilder 4 ( 或以後之版本
6、 )。實驗一至四介紹將用於往後實驗之 Java 語言進階特性;實驗五試製可移動式代理程式( Mobile Agents )原型;最後,修課同學尚須進行期末專題製作,活用本學期實驗及上課所學,參酌參考文獻,分組完成兼具智慧性與移動性之代理程式,並於期末成果發表。3參考文獻1. 顧淑馨譯, J. S. Brown 原著, 資訊革命了什麼 , 先覺出版社, 2001.2. J. P. Bigus and J. Bigus, Constructing Intelligent Agents Using Java, 2nd edition, John Wiley & Sons, 2001.3. P. Ma
7、es, “Agents that reduce work and information load,” Communications of the ACM, vol. 37, no. 7, pp. 31-40, 1994.4. M. R. Genesereth and S. P. Ketchpel, “Software agents,” Communications of the ACM, vol. 37, no. 7, pp. 48-53, 1994.5. J. Bates, “The role of emotion in believable agents,” Communications
8、 of the ACM, vol. 37, no. 7, pp. 122-125, 1994.6. P. Maes, R. H. Guttman, and A. G. Moukas, “Agents that buy and sell,” Communications of the ACM, vol. 42, no. 3, pp. 81-91, 1999.7. D. Wong, N. Paciorek, and D. Moore, “Java-based mobile agents,” Communications of the ACM, vol. 42, no. 3, pp. 92-105,
9、 1999.8. R. J. Glushko, J. M. Tenenbaum, and B. Meltzer, “An XML framework for agent-based e-commerce,” Communications of the ACM, vol. 42, no. 3, pp. 106-114, 1994.9. D. Milojicic (ed.), “(Trend Wars) Mobile agent applications,” IEEE Concurrency, July-September, pp. 80 90, 1999.10. G. Linden, S. Ha
10、nks, and N. Lesh, “Interactive assessment of user preference model: The automated travel assistant,” in A. Jameson, C. Paris, and C. Tasso (ed.), User Modeling: Proceeding of the Sixth International Conference, UM 97, Springer Wien New York, 1997. Available on-line from http:/um.org.一些相關網址智慧型代理程式課程及
11、研究網站1. 資訊系許永真教授課程網頁http:/hugo.csie.ntu.edu.tw/yjhsu/course/u1760/2. 美國馬里蘭大學智慧型代理程式資訊網站http:/agents.umbc.edu/3. 美國麻省理工學院媒體實驗室專案計畫網頁http:/agents.www.media.mit.edu/groups/projects44. 美國麻省理工學院媒體實驗室 Pattie Maes 教授網頁 http:/pattie.www.media.it.edu/people/pattie/5. IBM 公司智慧型代理程式專案網頁http:/ BottomDollar 商業網站h
12、ttp:/ 英國電信公司 Zeus 專案網頁http:/ SpiderHunter 商業網站http:/ Letizia 專案網頁http:/lieber.www.media.mit.edu/people/lieber/Lieberary/Letizia/Letizia.html/5. Rememberance 專案網頁http:/www.media.mit.edu/rhodes/Rememberance-distribution/6. Yenta 專案網頁http:/foner.www.media.mit.edu/people/foner/yenta-brief.html/7. Kasbah 專案網頁http:/agents.www.media.mit.edu/groups/agents/projects/