intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán"

Chia sẻ: Nguyễn Phương Hà Linh Linh | Ngày: | Loại File: PDF | Số trang:12

276
lượt xem
42
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tóm tắt: Software Agent đ-ợc coi là một công nghệ có hiệu quả trong tính toán phân tán. Từ những năm 1990 đến nay, công nghệ liên tục đ-ợc phát triển và đã bắt đầu đ-ợc ứng dụng có hiệu quả trong nhiều lĩnh vực khác nhau. Bài báo tập trung giới thiệu các khái niệm chính về software agent và hệ thống Multiagent cũng nh- khả năng ứng dụng của chúng trong tính toán phân tán. Các ví dụ đ-ợc nêu trong bài báo là các ứng dụng đã đ-ợc một số tác giả n-ớc ngoài và chính các...

Chủ đề:
Lưu

Nội dung Text: Báo cáo khoa học: "Hệ thống multi agent và ứng dụng trong tính toán phân tán"

  1. HÖ thèng multi agent vµ øng dông trong tÝnh to¸n ph©n t¸n Ng« §¨ng quang Bé m«n KÕt cÊu x©y dùng TrÇn Ngäc Linh Bé m«n tù ®éng hãa thiÕt kÕ cÇu ®−êng Tr−êng §¹i Giao th«ng VËn t¶i Tãm t¾t: Software Agent ®−îc coi lμ mét c«ng nghÖ cã hiÖu qu¶ trong tÝnh to¸n ph©n t¸n. Tõ nh÷ng n¨m 1990 ®Õn nay, c«ng nghÖ liªn tôc ®−îc ph¸t triÓn vμ ®· b¾t ®Çu ®−îc øng dông cã hiÖu qu¶ trong nhiÒu lÜnh vùc kh¸c nhau. Bμi b¸o tËp trung giíi thiÖu c¸c kh¸i niÖm chÝnh vÒ software agent vμ hÖ thèng Multiagent còng nh− kh¶ n¨ng øng dông cña chóng trong tÝnh to¸n ph©n t¸n. C¸c vÝ dô ®−îc nªu trong bμi b¸o lμ c¸c øng dông ®· ®−îc mét sè t¸c gi¶ n−íc ngoμi vμ chÝnh c¸c t¸c gi¶ thùc hiÖn. Summary: Software Agent is one of the most efficient technologies in distributed computing. Since the 1990s this technology is intensively developed and successfully applied in many different fields. This paper presents some main concepts of software agent and multi- agent system as well as their features for distributed computing. The examples given in the paper are applications exercised by some foreign researchers and the authors themselves. I. Tæng quan vÒ tÝnh to¸n ph©n t¸n TÝnh to¸n ph©n t¸n lµ ph−¬ng ph¸p tÝnh to¸n ph©n quyÒn vµ song song, sö dông hai hay CT 2 nhiÒu m¸y tÝnh ®−îc nèi m¹ng víi nhau ®Ó thùc hiÖn mét nhiÖm vô chung [10]. Nh− vËy, khi sö dông ph−¬ng ph¸p tÝnh to¸n ph©n t¸n, c¸c øng dông vµ logic nghiÖp vô sÏ ®−îc ph©n bè trªn nhiÒu nÒn t¶ng kh¸c nhau. Nãi c¸ch kh¸c, viÖc xö lý ®−îc ph©n bè trªn mét hay nhiÒu m¸y mµ ë ®ã mçi qu¸ tr×nh chØ thùc hiÖn mét phÇn cña øng dông theo mét tr×nh tù nhÊt ®Þnh. C¸c qu¸ tr×nh nµy cã thÓ kh«ng ®−îc thùc hiÖn ®ång thêi [9]. Cã mét sè lý do lµm cho viÖc tÝnh to¸n ph©n t¸n trong mét sè d¹ng øng dông lµ cÇn thiÕt. Thø nhÊt vµ ®iÓn h×nh nhÊt lµ, viÖc sö dông c¸c nguån lùc ph©n t¸n sÏ cho phÐp t¨ng tèc qu¸ tr×nh tÝnh to¸n, xö lý mét vÊn ®Ò nhê tÝnh song song. TÊt nhiªn, sù t¨ng tèc nµy phô thuéc vµo møc ®é song song cña vÊn ®Ò cÇn xö lý. TÝnh song song ë ®©y ®−îc hiÓu lµ kh¶ n¨ng cã thÓ chia ph¹m vi vÊn ®Ò thµnh c¸c phÇn nhá cã thÓ xö lý song song vµ ®éc lËp. M« h×nh tÝnh to¸n ph©n t¸n sÏ lµm ®¬n gi¶n ho¸ viÖc gi¶i quyÕt c¸c vÊn ®Ò khi tri thøc chuyªn gia vµ nguån lùc ®Ó gi¶i quyÕt chóng cã tÝnh ph©n t¸n. Trong thùc tÕ, cã rÊt nhiÒu vÊn ®Ò lín chØ cã thÓ gi¶i quyÕt ®−îc b»ng viÖc sö dông kÕt hîp nhiÒu nguån lùc kh¸c nhau. C¸c nguån lùc nµy l¹i cã thÓ ph©n t¸n c¶ vÒ mÆt ®Þa lý, thµnh phÇn, néi dung vµ ph¹m vi. Víi c¸c vÊn ®Ò d¹ng nµy, m« h×nh tÝnh to¸n tËp trung lµ rÊt khã thùc hiÖn. NhiÒu tr−êng hîp, ph−¬ng ph¸p tËp trung lµ kh«ng thÓ thùc hiÖn ®−îc do c¸c hÖ thèng vµ d÷ liÖu thuéc vÒ c¸c tæ chøc ®éc lËp vµ chóng ®−îc yªu cÇu ph¶i gi÷ riªng biÖt. Mét vÝ dô ®iÓn h×nh ë ®©y lµ viÖc thiÕt kÕ hay chÕ t¹o c¸c thiÕt bÞ m¸y mãc hoÆc c«ng tr×nh x©y dùng. C¸c qu¸ tr×nh nµy ®ßi hái sù tham gia cña rÊt nhiÒu chuyªn gia hay c¬ së s¶n xuÊt ë c¸c lÜnh vùc rÊt kh¸c nhau vµ phÇn nhiÒu c¸c c«ng viÖc mµ hä thùc hiÖn lµ cã tÝnh ®éc lËp t−¬ng ®èi vµ song song víi nhau. Ngoµi ra, viÖc sö dông m« h×nh tÝnh to¸n ph©n t¸n
  2. trong mét sè øng dông sÏ lµm gi¶m thiÓu sù chuyÓn giao d÷ liÖu kh«ng cÇn thiÕt gi÷a c¸c bé phËn xö lý trong mét qu¸ tr×nh. C¸c th«ng tin ®−îc sö dông cã thÓ ph©n t¸n vÒ mÆt ®Þa lý, cã thÓ cã nhiÒu thµnh phÇn, cã thÓ cã néi dung vµ ph¹m vi rÊt lín. ë c¸c øng dông nµy, c¸c d÷ liÖu th« sÏ ®−îc sµng läc ë c¸c bé phËn xö lý ngo¹i vi vµ chØ c¸c d÷ liÖu cÇn thiÕt míi ®−îc chuyÓn vÒ bé phËn xö lý trung t©m [1]. II. Giíi thiÖu mét sè c«ng nghÖ tÝnh to¸n ph©n t¸n 2.1. COM – DCOM M« h×nh ®èi t−îng thµnh phÇn ph©n t¸n DCOM (Distributed Component Object Model) cho phÐp gäi c¸c ®èi t−îng ë xa sö dông RPC (Remote Procedure Call). C¸c ®èi t−îng DCOM th«ng b¸o c¸c ph−¬ng thøc cña chóng ®Õn víi c¸c øng dông th«ng qua nhiÒu giao diÖn. C¸c giao diÖn nµy ®−îc x©y dùng b»ng ng«n ng÷ ®Þnh nghÜa giao diÖn (Interface Definition Language - IDL). Tr×nh biªn dÞch IDL sÏ t¹o ra c¸c thµnh phÇn (proxies/stubs) vµ bé khung (skeletons) råi ®¨ng ký chóng trong registry cña hÖ thèng vµ ®ång thêi còng t¹o ra c¸c th− viÖn kiÓu. C¸c files nµy m« t¶ ®èi t−îng ë xa vµ c¸c ®èi t−îng nµy cã thÓ ®−îc gäi b»ng c¸c giao diÖn ®−îc cung cÊp bëi c¬ chÕ COM. Ph−¬ng thøc ®−îc sö dông ë ®©y lµ lêi gäi thñ tôc tõ xa (Object Remote Procedure Call - ORPC). ChuÈn nhÞ ph©n cña DCOM cho phÐp c¸c ®èi t−îng cã thÓ ®−îc viÕt b»ng c¸c ng«n ng÷ kh¸c nhau. MÆc dï DCOM ®−îc Microsoft ph¸t triÓn nh−ng nã vÉn ®−îc sö dông trong nhiÒu hÖ ®iÒu hµnh kh¸c MS Windows nh− UNIX, Apple Macintosh vµ VSM [6]. 2.2. CORBA CT 2 RÊt nhiÒu tæ chøc ®· sö dông kiÕn tróc m«i giíi yªu cÇu ®èi t−îng phæ th«ng (Common Object Request Broker Architecture - CORBA) cña OMG, mét tiªu chuÈn ®−îc sö dông nh− lµ c«ng cô ®Ó tÝch hîp c¸c øng dông ®a d¹ng, ph©n t¸n víi d÷ liÖu. Ng«n ng÷ ®Þnh nghÜa giao diÖn cña CORBA cho phÐp ng−êi ph¸t triÓn x¸c ®Þnh c¸c giao diÖn h−íng ®èi t−îng, kh«ng phô thuéc ng«n ng÷ lËp tr×nh cho c¸c cÊu kiÖn cña øng dông vµ hÖ thèng. C¸c ®Þnh nghÜa IDL ®−îc l−u tr÷ trong mét th− viÖn giao diÖn, mét d¹ng nh− sæ ®iÖn tho¹i cung cÊp c¸c giao diÖn vµ dÞch vô. §Ó lËp tr×nh ph©n t¸n, th− viÖn ®èi t−îng ®−îc dïng lµm trung t©m ®Ó kÕt nèi c¸c ®èi t−îng ®−îc bè trÝ ë c¸c hÖ thèng kh¸c nhau. M«i giíi yªu cÇu ®èi t−îng (Object Request Broker - ORB) cña CORBA thùc hiÖn mét kªnh giao tiÕp, qua ®ã, c¸c øng dông cã thÓ truy cËp c¸c giao diÖn cña ®èi t−îng ®Ó yªu cÇu d÷ liÖu vµ dÞch vô. M«i tr−êng ®èi t−îng phæ biÕn (Common Object Environment - COE) cña CORBA cung cÊp c¸c dÞch vô ë cÊp ®é hÖ thèng nh− qu¶n lý vßng ®êi cña c¸c ®èi t−îng ®−îc truy cËp th«ng qua CORBA, th«ng b¸o sù kiÖn gi÷a c¸c ®èi t−îng vµ kiÓm so¸t giao t¸c vµ kiÓm so¸t trïng hîp [9]. 2.3. RMI RMI (Remote Method Invocation) cho phÐp x©y dùng c¸c øng dông tÝnh to¸n ph©n t¸n b»ng Java. Theo c«ng nghÖ nµy, ph−¬ng thøc cña c¸c ®èi t−îng Java cã thÓ ®−îc gäi tõ mét øng dông n»m ë mét m¸y ¶o Java (Java™ virtual machines – JVM™) tõ xa. §Ó gäi mét ®èi
  3. t−îng tõ xa, øng dông Java ph¶i cã tham chiÕu ®Õn ®èi t−îng ®ã. RMI cung cÊp mét sè ph−¬ng ph¸p ®Ó mét øng dông Java cã thÓ nhËn ®−îc tham chiÕu cña ®èi t−îng ë xa cÇn thiÕt. Víi RMI, viÖc ph©n biÖt tr×nh chñ hay tr×nh kh¸ch chØ lµ t−¬ng ®èi. Ch−¬ng tr×nh cã chøa c¸c ®èi t−îng cã thÓ ®−îc gäi tõ xa ®−îc gäi lµ tr×nh chñ. Ch−¬ng tr×nh nµy, cã thÓ ®ång thêi l¹i lµ tr×nh kh¸ch khi nã gäi ®èi t−îng tõ mét ch−¬ng tr×nh kh¸c. RMI sö dông ph−¬ng ph¸p tuÇn tù ho¸ (serialization) ®Ó s¾p xÕp d÷ liÖu mµ kh«ng ph¸ vì cÊu tróc kiÓu cña chóng. Giao thøc ®−îc dïng ®Ó trao ®æi d÷ liÖu lµ JRMP (Java Remote Method Protocol). RMI kh«ng sö dông c¸c ng«n ng÷ trõu t−îng nh− IDL ®Ó m« t¶ ®èi t−îng ë tr×nh chñ. Nh−îc ®iÓm chÝnh cña RMI lµ chØ ch¹y trªn m«i tr−êng cña Java v× thÕ yªu cÇu ë ®©y lµ c¶ m¸y chñ vµ m¸y kh¸ch ®Òu ph¶i ®−îc cµi Java. Mét nh−îc ®iÓm n÷a cña RMI lµ khi kÕt nèi víi m¹ng diÖn réng Internet c¸c øng dông cña RMI bÞ chÆn l¹i bëi t−êng löa (Firewall) v× RMI kh«ng sö dông cæng 80 lµ cæng cña dÞch vô HTTP (cæng mµ hÇu nh− mäi t−êng löa ®Òu cho qua). V× thÕ, ®Ó sö dông RMI trªn m¹ng diÖn réng cÇn ph¶i sö dông mét sè c¬ chÕ trung gian phøc t¹p ®Ó sö dông cæng 80 [6]. 2.4. Webservice Webservice lµ c¸c øng dông phÇn mÒm ho¹t ®éng dùa trªn nÒn c¸c giao thøc chuÈn cña Internet vµ kh«ng phô thuéc vµo hÖ thèng còng nh− ng«n ng÷ lËp tr×nh. VÒ b¶n chÊt, webservice lµ c¸c thñ tôc hay hµm cã thÓ thùc hiÖn mét sè nhiÖm vô nhÊt ®Þnh mµ mét øng dông cã thÓ gäi trªn Internet. Webservice cã thÓ chia sÎ d÷ liÖu gi÷a c¸c hÖ thèng vµ ng«n ng÷ lËp tr×nh. C¸c øng dông sö dông c¸c dÞch vô cña webservice kh«ng cÇn ph¶i biÕt chi tiÕt thùc hiÖn cña c¸c dÞch vô nµy mµ chØ cÇn biÕt ®Þa chØ cña dÞch vô, kiÓu cña c¸c tham sè ®Çu vµo vµ tham sè ®Çu ra. CT 2 Do webservice sö dông c¸c giao thøc chuÈn XML víi HTTP, SMTP hay FTP nªn nã cã thÓ kh¾c phôc ®−îc c¸c khã kh¨n cã liªn quan ®Õn “t−êng löa” cña c¸c c«ng nghÖ ph©n t¸n kh¸c nh− DCOM hay RMI. Mét hµm cña webservice cã thÓ ®−îc gäi mét c¸ch dÔ dµng tõ c¸c øng dông Web hay øng dông th«ng th−êng nÕu c¸c øng dông nµy cã thÓ kÕt nèi b»ng c¸c giao thøc Internet tiªu chuÈn. Nh− c¸c øng dông ph©n t¸n kh¸c, webservice còng cã thµnh phÇn “service broker” ®Ó t×m kiÕm dÞch vô, “service provider” cung cÊp dÞch vô vµ “service requester” lµ øng dông yªu cÇu dÞch vô. Ng«n ng÷ ®−îc sö dông ®Ó m« t¶ webservice lµ WSDL (Web Service Description Language), mét ng«n ng÷ dùa trªn XML. WSDL cung cÊp c¸c th«ng tin vÒ dÞch vô, ®Þa chØ còng nh− c¸ch cung cÊp dÞch vô cña webservice. C¸c dÞch vô webservice ®−îc ®¨ng ký vµ qu¶n lý nhê c¸c chuÈn ®−îc ®Þnh nghÜa bëi UDDI (Universal Description, Discovery, and Integration). Webservice sö dông SOAP (Simple Object Access Protocol) lµm giao thøc chuÈn ®Ó chuyÓn giao d÷ liÖu gi÷a c¸c thµnh phÇn cña øng dông. §©y lµ giao thøc dùa trªn XML vµ ho¹t ®éng kh«ng phô thuéc vµo m«i tr−êng. HiÖn nay, c¸c tiªu chuÈn ®−îc sö dông trong webservice vÉn ®ang ë trong giai ®o¹n ph¸t triÓn vµ ch−a thËt ®Çy ®ñ. Khi so s¸nh víi c¸c c«ng nghÖ kh¸c nh− CORBA, DCOM, tÝnh hiÖu qu¶ cña c«ng nghÖ nµy kh«ng thËt cao do c¸c th«ng ®iÖp ®−îc m« t¶ ë d¹ng v¨n b¶n vµ cÇn ph¶i chuyÓn ®æi ë hai ®Çu [6].
  4. III. HÖ thèng multi - Agent C¸c c«ng nghÖ tÝnh to¸n ph©n t¸n kÓ trªn cã d¹ng ph©n t¸n ®èi t−îng kiÓu kh¸ch - chñ (client - server) víi ®Þa chØ cña c¸c ®èi t−îng cung cÊp dÞch vô lµ cè ®Þnh. Bªn c¹nh c¸c lîi thÕ vÒ tèc ®é tÝnh to¸n, tÝnh ®a d¹ng trong ho¹t ®éng, v.v… c¸c c«ng nghÖ d¹ng nµy còng cã nh÷ng h¹n chÕ quan träng nh− ®ßi hái tÝnh ®ång bé cao, tèc ®é ®−êng truyÒn cao vµ ®é trÔ thÊp. Mét sè c«ng nghÖ ®ßi hái d÷ liÖu ph¶i ®−îc truyÒn qua mét sè cæng nhÊt ®Þnh vµ do ®ã, kh«ng thÝch hîp víi m¹ng diÖn réng hay Internet. Ngoµi ra, c¸c c«ng nghÖ nªu trªn Ýt thÝch hîp víi c¸c hÖ thèng tÝnh to¸n trªn c¸c thiÕt bÞ di ®éng do c¸c thiÕt bÞ nµy cã kh¶ n¨ng tÝnh to¸n thÊp vµ ®−êng truyÒn d÷ liÖu h¹n chÕ. Software Agent lµ mét c«ng nghÖ tÝnh to¸n ph©n t¸n míi, cã thÓ kh¾c phôc ®−îc c¸c nh−îc ®iÓm kÓ trªn. 3.1. Kh¸i niÖm vÒ Software Agent TÝnh to¸n ph©n t¸n dùa trªn c«ng nghÖ Software Agent, sau ®©y gäi lµ Agent, lµ mét ph−¬ng ph¸p míi, ®−îc ®¸nh gi¸ lµ cã hiÖu qu¶. Agent ®−îc ph¸t triÓn dùa trªn ý t−ëng vÒ trÝ tuÖ nh©n t¹o ph©n t¸n (Distributed Artificial Intelligence - DAI) vµ nhÊt lµ m« h×nh cña Hewitt tõ nh÷ng n¨m 1970. Trong m« h×nh cña m×nh, Hewitt ®· ®Ò xuÊt mét kh¸i niÖm vÒ mét ®èi t−îng cã tÝnh tù chñ, t−¬ng t¸c vµ ho¹t ®éng c¹nh tranh (concurrently-executing) tøc lµ mét t¸c tö (actor). Tuy nhiªn, c«ng nghÖ nµy chØ ®−îc ph¸t triÓn m¹nh mÏ sau khi Internet ®−îc sö dông réng r·i [7], [8]. Cho ®Õn nay vÉn ch−a cã mét ®Þnh nghÜa thèng nhÊt vÒ Agent. Tuy nhiªn, cã thÓ m« t¶ Agent nh− lµ mét ®èi t−îng phÇn mÒm ho¹t ®éng mét c¸ch t−¬ng ®èi ®éc lËp, tù chñ vµ cã kh¶ n¨ng céng t¸c víi nhau trong mét m«i tr−êng ®Ó hoµn thµnh mét nhiÖm vô ®Þnh tr−íc [8]. §Æc CT 2 ®iÓm c¬ b¶n cña Agent lµ cã kh¶ n¨ng ®ãng gãi m· lÖnh, d÷ liÖu vµ c¶ tr¹ng th¸i thi hµnh, nhê vËy cã thÓ chuyÓn c«ng viÖc ®ang thùc hiÖn t¹i mét m¸y ®Õn mét m¸y kh¸c. Nh− vËy, so víi c¸c c«ng nghÖ tÝnh to¸n ph©n t¸n tr−íc ®©y, Agent tá ra lµ c«ng nghÖ tiªn tiÕn nhÊt. Mét sè ®Æc tr−ng quan träng cña Agent lµ TÝnh tù chñ. TÝnh tù chñ thÓ hiÖn kh¶ n¨ng tù kiÓm so¸t b¶n th©n cña Agent. Mçi Agent ®−îc trang bÞ mét c¬ së kiÕn thøc vµ mét c¬ cÊu ®−a ra c¸c quyÕt ®Þnh tõ c¬ së kiÕn thøc cña nã vµ c¸c d÷ kiÖn mµ nã thu ®−îc tõ bªn ngoµi. Sau khi ®−îc giao nhiÖm vô, Agent tù ho¹t ®éng mµ kh«ng cÇn ph¶i ®−îc ®iÒu khiÓn tõ bªn ngoµi. TÝnh di ®éng. Khi di chuyÓn trong m¹ng, c¸c Agent ®ãng gãi m· lÖnh, d÷ liÖu vµ tr¹ng th¸i thùc hiÖn do ®ã, chóng cã thÓ thùc hiÖn mét nhiÖm vô ®−îc giao trªn nhiÒu tr¹m m¸y tÝnh kh¸c nhau. TÝnh thÝch øng. Mét Agent cã kh¶ n¨ng nhËn thøc ®−îc vÒ m«i tr−êng cña m×nh vµ cã nh÷ng ®¸p thÝch hîp víi sù thay ®æi m«i tr−êng ®Ó tho¶ m·n c¸c môc tiªu ®−îc giao. TÝnh chñ ®éng. C¸c Agent cã kh¶ n¨ng thÓ hiÖn c¸c øng xö h−íng môc tiªu b»ng viÖc hoµn thµnh c¸c kÕ ho¹ch ®Ó tho¶ m·n c¸c môc tiªu thiÕt kÕ. TÝnh x· héi. C¸c Agent cã kh¶ n¨ng t−¬ng t¸c víi nhau vµ c¶ víi con ng−êi ®Ó tho¶ m·n c¸c môc tiªu thiÕt kÕ.
  5. 3.2. Kh¸i niÖm vÒ hÖ thèng multi - Agent C¸c Agent ho¹t ®éng vµ tån t¹i trong mét sè m«i tr−êng, bao gåm c¶ m«i tr−êng tÝnh to¸n vµ m«i tr−êng vËt lý. MÆc dï cã nh÷ng tr−êng hîp mét Agent cã thÓ ho¹t ®éng cã hiÖu qu¶ mét m×nh nh−ng, trong hÖ thèng c¸c m¹ng m¸y tÝnh, c¸c tÝnh huèng nh− vËy rÊt hiÕm gÆp. Th−êng gÆp lµ tr−êng hîp c¸c Agent t−¬ng t¸c víi nhau. HÖ thèng hay m«i tr−êng mµ, c¸c Agent t−¬ng t¸c ®−îc víi nhau gäi lµ hÖ thèng multi-Agent. §©y lµ mét m«i tr−êng m¹ng g¾n kÕt mét c¸ch tù do c¸c Agent ®Ó gi¶i quyÕt mét vÊn ®Ò mµ tõng Agent riªng biÖt kh«ng gi¶i quyÕt ®−îc. ViÖc sö dông hÖ thèng multi-Agent cho phÐp mét vÊn ®Ò cã thÓ ®−îc gi¶i quyÕt mét c¸ch ph©n t¸n trªn nhiÒu hÖ thèng phÇn mÒm vµ phÇn cøng kh¸c nhau. HiÖn nay, hÖ thèng multi-Agent ®−îc coi lµ c¸ch tèt nhÊt ®Ó m« t¶ vµ thiÕt kÕ c¸c hÖ thèng tÝnh to¸n ph©n t¸n. Trong mét hÖ thèng multi - Agent, c¸c software Agent ph¶i cã hai kh¶ n¨ng c¬ b¶n lµ t×m kiÕm “®èi t¸c”, tøc lµ c¸c Agent kh¸c, vµ hîp t¸c víi chóng ®Ó thùc hiÖn c«ng viÖc [8]. ViÖc hç trî c¸c Agent trong viÖc t×m kiÕm ®èi t¸c ®−îc thùc hiÖn bëi c¸c Agent trung gian (middle Agent). C¸c Agent th«ng th−êng sö dông Agent trung gian ®Ó khai b¸o kh¶ n¨ng cña m×nh hay t×m c¸c Agent kh¸c cung cÊp dÞch vô mµ chóng cÇn. Mét lîi thÕ cña Agent trung gian lµ chóng cho phÐp c¸c hÖ thèng multi-Agent cã thÓ ho¹t ®éng mét c¸ch æn ®Þnh khi ®èi mÆt víi nh÷ng vÊn ®Ò nh− sù xuÊt hiÖn, biÕn mÊt hay chuyÓn ®éng cña c¸c Agent. D¹ng Agent trung gian phæ biÕn cã d¹ng “trang vµng” (yellow page). D¹ng Agent nµy hç trî c¸c Agent th«ng th−êng trong viÖc t×m kiÕm dÞch vô cña c¸c Agent kh¸c dùa trªn nh÷ng kh¶ n¨ng ®· ®−îc ®¨ng nhËp. T−¬ng t¸c lµ mét trong nh÷ng ®Æc tr−ng quan träng nhÊt cña mét Agent. C¸c Agent th−êng CT 2 xuyªn t−¬ng t¸c víi nhau ®Ó chia sÎ th«ng tin vµ thùc hiÖn nhiÖm vô chung. §Ó t−¬ng t¸c, c¸c Agent ph¶i sö dông chung c¸c ng«n ng÷ vµ giao thøc trao ®æi, c¸c cÊu tróc chung vÒ néi dung th«ng tin vµ cïng chia sÎ ng÷ nghÜa. Ng«n ng÷ trao ®æi gi÷a c¸c Agent ACL (Agent Communication Language) chñ yÕu lµ ng«n ng÷ khai b¸o ®−îc ph¸t triÓn dùa trªn lý thuyÕt hµnh vi ng«n ng÷ (illocutionary acts) nh− yªu cÇu, mÖnh lÖnh. Ng«n ng÷ khai b¸o ®−îc sö dông phæ biÕn nhÊt hiÖn nay lµ KQML [8]. CÊu tróc ng÷ nghÜa cña th«ng ®iÖp gi÷a c¸c Agent ®−îc ®Þnh nghÜa bëi b¶n thÓ (ontology). Ontology lµ c¸c cÊu tróc ®Ó m« t¶ kh¸i niÖm vµ quan hÖ gi÷a chóng trong ph¹m vi vÊn ®Ò. Ontology mµ c¸c Agent sö dông ®Ó m« t¶ ph¹m vi vÊn ®Ò ph¶i cã cÊu tróc gièng nhau. Mét khi c¸c Agent trao ®æi c¸c ontology chung, chóng sÏ sö dông c¸c ontology nµy ®Ó hiÓu nhau vµ thùc hiÖn c¸c hµnh vi x¸c ®Þnh. 3.3. LÜnh vùc ¸p dông C¸c hÖ thèng multi - Agent thÝch hîp cho c¸c øng dông cã nh÷ng ®Æc tr−ng sau: Cã tÝnh ph©n t¸n cè h÷u: d÷ liÖu vµ th«ng tin cña chóng ®−îc xö lý ë c¸c vÞ trÝ ®Þa lý kh¸c nhau, ë c¸c thêi gian kh¸c nhau, ®−îc tæ chøc thµnh c¸c nhãm mµ viÖc truy cËp chóng cÇn c¸c ng÷ nghÜa vµ ng«n ng÷ kh¸c nhau (sù ph©n t¸n vÒ ng÷ nghÜa) hay ®−îc tæ chøc thµnh c¸c nhãm mµ viÖc truy cËp chóng cÇn c¸c kh¶ n¨ng vÒ nhËn biÕt, tri thøc kh¸c nhau (sù ph©n t¸n vÒ chøc n¨ng).
  6. Cã tÝnh phøc hîp cè h÷u: chóng lµ nh÷ng vÊn ®Ò qu¸ lín kh«ng thÓ xö lý ®−îc b»ng mét hÖ thèng riªng, tËp trung do c¸c giíi h¹n vÒ c«ng nghÖ phÇn cøng vµ phÇn mÒm. ViÖc më réng c¸c hÖ thèng tËp trung lµ rÊt khã kh¨n, tèn thêi gian, tiÒn cña. H¬n n÷a viÖc më réng nµy rÊt kh«ng bÒn v÷ng vµ sÏ kh«ng cßn t¸c dông khi ph¹m vi vÊn ®Ò l¹i tiÕp tôc ®−îc më réng. 3.4. C¸c lîi thÕ cña c¸c hÖ thèng multi - Agent Víi t− c¸ch lµ mét hÖ thèng tÝnh to¸n ph©n t¸n, c¸c hÖ thèng multi-Agent cã c¸c ®Æc tr−ng chÝnh sau: Cã tèc ®é vμ hiÖu qu¶ xö lý cao: C¸c Agent cã thÓ ho¹t ®éng theo kiÓu kh«ng ®ång bé vµ song song cã thÓ lµm t¨ng tèc toµn bé qu¸ tr×nh xö lý. Ch¾c ch¾n vμ tin cËy: Sù h− háng cña mét vµi Agent sÏ kh«ng nhÊt thiÕt lµm cho toµn bé hÖ thèng kh«ng cßn ho¹t ®éng n÷a v× c¸c Agent cßn l¹i cã thÓ tiÕp qu¶n c¸c phÇn viÖc cña chóng. Cã tÝnh ®iÒu chØnh ®−îc vμ tÝnh mÒm dÎo cao: HÖ thèng cã thÓ bæ sung thªm c¸c Agent khi ph¹m vi vÊn ®Ò ®−îc më réng vµ kh«ng ¶nh h−ëng ®Õn sù ho¹t ®éng cña c¸c Agent kh¸c. Cã chi phÝ hîp lý: HÖ thèng multi - Agent cã chi phÝ hîp lý h¬n so víi c¸c hÖ thèng tËp trung do hÖ thèng multi - Agent cã thÓ ®−îc ghÐp tõ c¸c hÖ thèng con ®¬n gi¶n cã gi¸ thµnh thÊp. Cã kh¶ n¨ng dïng l¹i: Mét sè Agents cô thÓ cã thÓ ®−îc ph¸t triÓn tõ ®Çu mét c¸ch riªng biÖt bëi mét sè chuyªn gia trong khi phÇn cßn l¹i cña hÖ thèng vÉn ®−îc tiÕp tôc sö dông. CT 2 IV. X©y dùng hÖ thèng multi - Agent Víi c¸c øng dông th«ng th−êng, c¸c hÖ thèng multi Agent th−êng ®−îc ph¸t triÓn dùa trªn c¸c hÖ thèng khung (framework). HiÖn nay, cã nhiÒu hÖ thèng khung ®· ®−îc giíi thiÖu. §iÓn h×nh trong sè nµy lµ JACK cña Agent Oriented Software Pty. Ltd., JADE (Java Agent DEvelopment Framework) Telecom Italia, Aglets ®−îc ph¸t triÓn bëi IBM NhËt b¶n, MAST (MultiAgent Systems Tool) cña Tr−êng §¹i häc tæng hîp kü thuËt Madrid. PhÇn sau ®©y giíi thiÖu c¸ch x©y dùng hÖ thèng multi-Agent víi JADE do ®©y lµ hÖ thèng t−¬ng ®èi m¹nh vµ ®−îc sö dông kh¸ phæ biÕn. 4.1. Giíi thiÖu vÒ JADE JADE (Java Agent Development Framework) lµ mét m«i tr−êng hç trî ph¸t triÓn hÖ thèng multi-Agent dùa trªn nÒn t¶ng Java. JADE bao gåm c¸c thµnh phÇn chÝnh sau: M«i tr−êng thùc thi, lµ m«i tr−êng mµ trong ®ã c¸c Agent “sèng” vµ ho¹t ®éng. M«i tr−êng nµy cÇn ®−îc kÝch ho¹t ë tõng m¸y tÝnh tr−íc khi c¸c Agent cã thÓ b¾t ®Çu ho¹t ®éng. Mét sè th− viÖn Java chøa c¸c líp mµ ng−êi lËp tr×nh cÇn sö dông ®Ó ph¸t triÓn c¸c Agent. Mét lo¹t c¸c c«ng cô ®å ho¹ ®Ó qu¶n lý vµ kiÓm so¸t ho¹t ®éng cña c¸c Agent. Mçi mét m«i tr−êng thùc thi cña JADE ®−îc gäi lµ mét container. Mçi container chøa mét
  7. hay mét sè c¸c Agent. Mét tËp hîp c¸c container ®−îc gäi lµ mét platform. Mçi platform ph¶i cã mét container chÝnh (main container) vµ c¸c container kh¸c, khi khëi ®éng, ®Òu ph¶i ®¨ng ký víi container chÝnh c¸c th«ng tin vÒ tªn m¸y (host) vµ cæng (port) cña chóng. Mçi container chÝnh chøa hai Agent ®Æc biÖt AMS (Agent Management System) vµ DF (Directory Facilitator). AMS cã nhiÖm vô qu¶n lý c¸c Agent cã trong c¸c container cña c¶ platform th«ng qua dÞch vô ®Æt tªn ®Ó ®¶m b¶o r»ng, c¸c Agent chØ cã mét tªn duy nhÊt trong toµn bé platform. C¸c Agent trong c¸c platform còng ®−îc qu¶n lý (xo¸, t¹o míi) nhê AMS. DF cã nhiÖm vô cung cÊp c¸c “trang vµng” ®Ó qua ®ã, mét Agent cã thÓ t×m thÊy c¸c Agent kh¸c cung cÊp c¸c dÞch vô mµ Agent ®ã cÇn ®Ó thùc hiÖn c«ng viÖc cña m×nh. Mét khi c¸c Agent ®· biÕt tªn cña nhau, chóng cã thÓ liªn l¹c ®−îc víi nhau kh«ng phô thuéc vµo vÞ trÝ vËt lý cña chóng. Trªn h×nh 1, Agent A2 cã thÓ liªn l¹c ®−îc víi Agent A3 ë cïng container, víi Agent A1 hoÆc A4 ë kh¸c container hay víi A5 ë kh¸c platform. Nh− trªn ®· nªu, JADE lµ m«i tr−êng thùc thi vµ ph¸t triÓn øng dông Agent trªn nÒn Java nªn ng«n ng÷ lËp tr×nh cho c¸c hÖ thèng chÝnh lµ Java vµ mét Agent trong JADE thùc chÊt lµ mét ®èi t−îng Java. CT 2 H×nh 1. CÊu tróc cña hÖ thèng multiAgent ®−îc x©y dùng víi JADE 4.2. X©y dùng hÖ thèng multi-Agent víi JADE C¸c néi dung chÝnh trong qu¸ tr×nh x©y dùng hÖ thèng bao gåm [2], [3]: X©y dùng kiÓu Agent: Mçi kiÓu Agent trong JADE ®−îc t¹o ra tõ viÖc më réng líp
  8. jade.core.Agent vµ cµi ®Æt hµm setup. X¸c ®Þnh nhiÖm vô cho Agent: C¸c nhiÖm vô mµ mét Agent cÇn hoµn thµnh lµ mét ®èi t−îng thuéc mét kiÓu lµ líp con cña líp jade.core.behaviours.Behaviour. §èi t−îng nhiÖm vô, sau khi ®−îc t¹o ra, sÏ ®−îc g¸n cho tõng Agent. Mçi líp nhiÖm vô (líp con cña líp Behaviour) sÏ m« t¶ c¸c øng xö cña Agent còng nh− ®iÒu kiÖn kÕt thóc c«ng viÖc. Thùc hiÖn qu¸ tr×nh trao ®æi gi÷a c¸c Agent: Th«ng tin gi÷a c¸c Agent ®−îc thùc hiÖn theo kiÓu göi th«ng ®iÖp kh«ng ®ång bé. §Þnh d¹ng cña th«ng ®iÖp trong JADE lµ ACL, ®· ®−îc FIPA chuÈn ho¸. Mçi th«ng ®iÖp lµ mét ®èi t−îng thuéc líp jade.lang.acl.ACLMessage. Líp ACLMessage x¸c ®Þnh c¸c th«ng tin vÒ ng−êi göi, ng−êi nhËn, ng«n ng÷, b¶n thÓ (ontology), néi dung, v.v. cña th«ng ®iÖp. Th«ng ®iÖp ®−îc göi vµ nhËn b»ng c¸c hµm ®· ®−îc ®Þnh nghÜa s½n trong líp Agent. §¨ng nhËp vμ t×m kiÕm dÞch vô: Nh− ®· nªu ë trªn, c¸c Agent ®¨ng ký dÞch vô cña m×nh còng nh− t×m kiÕm dÞch vô cña c¸c Agent kh¸c th«ng qua Agent DF. Th«ng ®iÖp gi÷a Agent DF vµ c¸c Agent kh¸c chÝnh lµ ACL. Tuy nhiªn, ng«n ng÷ vµ b¶n thÓ cña th«ng ®iÖp víi DF ®· ®−îc FIPA chuÈn ho¸ do ®ã, c¸c Agent cã thÓ lµm viÖc ®−îc víi c¸c DF ë c¸c platform kh¸c nhau. Xö lý néi dung th«ng ®iÖp: c¸c th«ng ®iÖp cã thÓ ®−îc trao ®æi vµ xö lý theo 3 c¸ch. C¸ch thø nhÊt lµ sö dông mét ®èi t−îng thuéc kiÓu ContentManager ®Ó chuyÓn ®æi mét ®èi t−îng Java thµnh chuçi ký tù hoÆc chuçi byte vµ ®Æt chuçi nµy vµo môc néi dung cña th«ng ®iÖp ACL. §èi t−îng nµy còng cã nhiÖm vô thùc hiÖn qu¸ tr×nh ng−îc l¹i, chuyÓn chuçi thµnh ®èi t−îng. C¸ch tiÕp theo lµ sö dông ph−¬ng ph¸p tuÇn tù cña chÝnh Java ®Ó trao ®æi d÷ liÖu. Ph−¬ng ph¸p CT 2 kh¸c lµ sö dông ®èi t−îng thuéc kiÓu b¶n thÓ ®Ó m« t¶ cÊu tróc ng÷ nghÜa cña néi dung c¸c th«ng ®iÖp. V. VÝ dô øng dông PhÇn sau ®©y giíi thiÖu mét sè øng dông ®iÓn h×nh vÒ tÝnh to¸n ph©n t¸n trong ngµnh x©y dùng ®· ®−îc thùc hiÖn c¸c hÖ thèng multi-Agent. TÊt c¶ c¸c hÖ thèng nµy ®· ®−îc ph¸t triÓn b»ng JADE. 5.1. HÖ thèng multi - Agent hç trî thiÕt kÕ hîp t¸c C¸c dù ¸n thiÕt kÕ trong x©y dùng lu«n cã sù tham gia cña nhiÒu ®èi t¸c hoÆc v¨n phßng thiÕt kÕ. Trong hÇu hÕt c¸c tr−êng hîp, c¸c v¨n phßng thiÕt kÕ nµy n»m ë c¸c vÞ trÝ ®Þa lý kh¸c nhau vµ sö dông nhiÒu hÖ thèng phÇn mÒm kh¸c nhau. Cho ®Õn nay, th«ng tin trao ®æi hÇu hÕt ®Òu ë d¹ng c¸c tËp tin d÷ liÖu tÜnh vµ ®ßi hái ph¶i ®−îc xö lý b»ng tay th−êng mÊt nhiÒu thêi gian vµ c«ng søc. ViÖc sö dông c¸c hÖ thèng multi-Agent cho phÐp d÷ liÖu ®−îc xö lý mét c¸ch tù ®éng th«ng qua c¸c Agent víi c¸c nhiÖm vô ®· ®−îc ®Þnh nghÜa s½n. Qu¸ tr×nh hîp t¸c thùc hiÖn mét dù ¸n cña c¸c v¨n phßng thiÕt kÕ cã thÓ ®−îc chia thµnh 3 bé phËn chÝnh lµ c¸ nh©n hoÆc ®¬n vÞ thiÕt kÕ, d÷ liÖu thiÕt kÕ cÇn trao ®æi, xö lý vµ hÖ thèng phÇn mÒm ®−îc sö dông trong thiÕt kÕ hîp t¸c. T−¬ng øng víi 3 bé phËn trªn, sÏ cã 3 nhãm Agent ®−îc ph¸t triÓn: nhãm Agent lµm viÖc trùc tiÕp víi c¸c t¸c nh©n, nhãm Agent cã nhiÖm vô
  9. xö lý vµ trao ®æi d÷ liÖu vµ nhãm Agent kÕt nèi víi c¸c phÇn mÒm (h×nh 2). Th«ng qua hÖ thèng c¸c Agent kÓ trªn, c¸c d÷ liÖu vµ phÇn mÒm kh¸c nhau cã thÓ lµm viÖc chung ®−îc víi nhau [3]. H×nh 2. HÖ thèng multi-Agent trong hÖ thèng hç trî thiÕt kÕ hîp t¸c 5.2. HÖ thèng multi-Agent hç trî ph©n tÝch mái trong kÕt cÊu thÐp RÊt nhiÒu bµi to¸n x©y dùng ®ßi hái khèi l−îng vµ thêi gian tÝnh to¸n lín cã thÓ ®−îc chia thµnh nhiÒu bµi to¸n nhá, ®éc lËp vµ ®−îc ph©n tÝch song song víi nhau. Kh¸c víi m« h×nh tÝnh to¸n song song ®−îc thùc hiÖn trªn c¸c m¸y tÝnh song song ®¾t tiÒn, viÖc ¸p dông c¸c hÖ thèng CT 2 multi-Agent cho phÐp thùc hiÖn c¸c tÝnh to¸n song song trªn m¹ng m¸y tÝnh ®¬n gi¶n nh− m¹ng PC. Mét vÝ dô chøng minh tÝnh hiÖu qu¶ cña ph−¬ng ph¸p nµy ®· ®−îc thÓ hiÖn ë tÝnh to¸n mái do giã cña c¸p treo cÇu vßm (H×nh) ®−îc Jelic, Bilek, G¸lffy, Hartmann thùc hiÖn [4]. H×nh 3. M« h×nh kÕt cÊu cÇn kh¶o s¸t
  10. Qu¸ tr×nh tÝnh to¸n mái do giã bao gåm c¸c b−íc chÝnh sau: T¹o tËp hîp c¸c tèc ®é giã theo d¹ng x¸c suÊt, TÝnh to¸n dao ®éng cña c¸p treo, TÝnh to¸n kÕt cÊu d−íi t¸c dông cña t¶i träng ®éng, TÝnh to¸n ph¸ ho¹i mái. øng víi mçi cÊp tèc ®é giã cÇn x©y dùng mét m« h×nh vµ thùc hiÖn tÝnh to¸n. Víi vÝ dô ®· nªu, c¸c t¸c gi¶ cÇn thùc hiÖn tÝnh to¸n víi 1226 m« h×nh. ViÖc tÝnh to¸n song song ®· ®−îc thùc hiÖn víi mét hÖ thèng multi Agent ®−îc ph¸t triÓn víi JADE. HÖ thèng multi Agent ®−îc cÊu t¹o tõ mét main-Agent vµ mét lo¹t slave-Agent. Main-Agent cung cÊp giao diÖn ®å ho¹ vµ qu¶n lý c¸c m« h×nh tÝnh to¸n. Trong khi ®ã, c¸c slave-Agent di chuyÓn trªn m¹ng m¸y tÝnh ®Ó thùc hiÖn qu¸ tr×nh tÝnh to¸n. KÕt qu¶ tÝnh to¸n song song trªn c¸c m¹ng PC ®−îc thÓ hiÖn trªn h×nh 4. CT 2 H×nh 4. Thêi gian tÝnh to¸n mái kÕt cÊu trªn m¹ng PC 5.3. HÖ thèng multi - Agent hç trî ph©n tÝch côc bé kÕt cÊu cÇu Mét hÖ thèng t−¬ng tù trªn ®· ®−îc x©y dùng ë Tr−êng §¹i häc Giao th«ng VËn t¶i (Hµ Néi) ®Ó tÝnh to¸n ph©n t¸n c¸c bé phËn chi tiÕt cña kÕt cÊu. Trong yªu cÇu tÝnh to¸n cÇu v−ît Ng· T− Së (Hµ Néi), cã 6 khu vùc cÇn ®−îc thùc hiÖn ph©n tÝch côc bé lµ c¸c khu vùc neo c¸p ë dÇm chÝnh, khu vùc neo c¸p ë ®Ønh th¸p còng nh− khu vùc chung gi÷a ch©n th¸p vµ dÇm chÝnh (h×nh 6). Bª t«ng ë tÊt c¶ c¸c khu vùc ®Òu ®−îc m« h×nh ho¸ b»ng c¸c phÇn tö khèi s¸u mÆt. C¸p dù øng lùc ®−îc m« h×nh ho¸ thµnh c¸c phÇn tö thanh vµ liªn kÕt víi c¸c phÇn tö bª t«ng xung quanh b»ng c¸c liªn kÕt cøng. Trung b×nh, mçi m« h×nh øng víi mét khu vùc tÝnh to¸n cã chøa h¬n 80.000 phÇn tö vµ h¬n 100.000 nót (h×nh 7). Thêi gian tÝnh to¸n mét m« h×nh trªn mét m¸y PC mÊt trung b×nh h¬n 120 phót.
  11. H×nh 6. M« h×nh cÇu Ng· T− Së vμ c¸c khu vùc cÇn ph©n tÝch chi tiÕt CT 2 H×nh 7. M« h×nh ph©n tÝch chi tiÕt ë mét khu vùc kÕt cÊu NhiÖm vô cña hÖ thèng multi-Agent hç ph©n tÝch chi tiÕt kÕt cÊu cã nhiÖm vô lµ cÇu nèi chuyÓn giao d÷ liÖu gi÷a c¸c ch−¬ng tr×nh ph©n tÝch kÕt cÊu, cô thÓ trong vÝ dô nµy lµ ch−¬ng tr×nh MIDAS/Civil. M«i tr−êng ph¸t triÓn hÖ thèng lµ JADE. C¸c Agent cÇn ®−îc t¹o ra bao gåm: MainAgent cã nhiÖm vô qu¶n lý c¸c m« h×nh tÝnh ®· ®−îc kü s− kÕt cÊu t¹o ra nh− ph©n phèi c¸c m« h×nh ch−a ®−îc tÝnh to¸n cho c¸c ClientAgent tù do, tiÕp nhËn c¸c m« h×nh ®· ®−îc ph©n tÝch xong còng nh− giao tiÕp víi kü s− ph©n tÝch. ClientAgent cã nhiÖm vô tiÕp nhËn d÷ liÖu, nh− m« h×nh tÝnh, tõ MainAgent vµ chuyÓn d÷ liÖu nµy cho ch−¬ng tr×nh tÝnh th«ng qua c¸c kÕt nèi víi WrapperAgent. Sau khi chuyÓn d÷ liÖu cho WrapperAgent, ClientAgent sÏ chê ®îi cho ®Õn khi m« h×nh ®−îc tÝnh to¸n xong vµ thùc hiÖn viÖc ph©n tÝch d÷ liÖu kÕt qu¶. D÷ liÖu ®· ®−îc ph©n tÝch sÏ ®−îc chuyÓn vÒ cho MainAgent. T¹i mét thêi ®iÓm, chØ cã mét ClientAgent ®−îc khëi t¹o vµ ho¹t ®éng trªn mét m¸y PC. WrapperAgent lµ Agent cã nhiÖm vô kÕt nèi ch−¬ng tr×nh ph©n tÝch kÕt cÊu víi m«i tr−êng tÝnh to¸n ph©n t¸n. Th«ng qua WrapperAgent, d÷ liÖu ®Çu vµo còng nh− kÕt qu¶ ph©n tÝch sÏ ®−îc trao ®æi gi÷a ch−¬ng tr×nh ph©n tÝch kÕt cÊu ë tõng m¸y PC víi hÖ thèng muti-Agent. Sau khi tõng m¸y PC ®−îc khëi ®éng, mét ch−¬ng tr×nh Java ë d¹ng Windows-Service sÏ ®−îc tù ®éng kÝch ho¹t vµ ch−¬ng tr×nh nµy sÏ khëi t¹o mét ClientAgent. C¸c ClientAgent sÏ
  12. ®¨ng nhËp víi MainAgent ®Ó ®−îc “ph©n c«ng c«ng viÖc”. ViÖc ph©n phèi c«ng viÖc cña MainAgent ®−îc thùc hiÖn mét c¸ch ®¬n gi¶n theo sè l−îng c¸c m« h×nh ®−îc t¹o ra, mçi m« h×nh sÏ ®−îc chia cho mét ClientAgent. Víi mét hÖ thèng gåm 3 m¸y tÝnh c¸ nh©n phôc vô tÝnh to¸n vµ mét Laptop lµm m¸y chñ thùc hiÖn viÖc x©y dùng m« h×nh vµ qu¶n lý, hÖ thèng multi-Agent ®· thùc hiÖn thµnh c«ng kÕt qu¶ nh− dù kiÕn. Sau kho¶ng gÇn 5 giê ®ång hå, toµn bé 6 m« h×nh ®· ®−îc ph©n tÝch xong. Khèi l−îng c«ng viÖc nµy, nÕu ®−îc thùc hiÖn tuÇn tù trªn mét PC th× thêi gian dù kiÕn tèi thiÓu lµ 12 giê. VI. KÕt luËn TÝnh to¸n ph©n t¸n lµ ph−¬ng ph¸p tÝnh to¸n ph©n quyÒn vµ song song, sö dông hai hay nhiÒu m¸y tÝnh ®−îc nèi m¹ng víi nhau ®Ó thùc hiÖn mét nhiÖm vô chung. Nh− vËy, khi sö dông ph−¬ng ph¸p tÝnh to¸n ph©n t¸n, mét øng dông lín sÏ ®−îc chia thµnh nhiÒu bµi to¸n nhá, ®−îc thùc hiÖn ph©n t¸n, ®éc lËp vµ ®ång thêi trªn c¸c m¸y tÝnh kh¸c nhau. Kh¸c víi c¸c m¸y song song ®¾t tiÒn, viÖc x©y dùng c¸c m« h×nh tÝnh to¸n ph©n t¸n dùa trªn hÖ thèng c¸c m¸y tÝnh nèi m¹ng víi nhau cho phÐp x©y dùng ®−îc c¸c søc m¹nh tÝnh to¸n lín dùa trªn nguån lùc cña c¸c m¸y tÝnh rÎ. Cã rÊt nhiÒu m« h×nh vµ c«ng nghÖ tÝnh to¸n ph©n t¸n ®· ®−îc ph¸t triÓn trong thêi gian võa qua. §iÓn h×nh trong sè chóng lµ CORBA, DCOM, RMI, Webservice vµ Software Agent. So víi c¸c c«ng nghÖ tÝnh to¸n ph©n t¸n kh¸c, Software Agent thÓ hiÖn tÝnh mÒm dÎo cao, dÔ sö dông vµ cã thÓ ¸p dông ®−îc cho nhiÒu d¹ng bµi to¸n kh¸c nhau. CT 2 Software Agent lµ c¸c ®¬n vÞ phÇn mÒm cã thÓ ho¹t ®éng mét c¸ch t−¬ng ®èi ®éc lËp, tù chñ vµ cã kh¶ n¨ng céng t¸c víi nhau trªn m¹ng m¸y tÝnh ®Ó hoµn thµnh mét nhiÖm vô ®Þnh tr−íc. Multi-Agent lµ m«i tr−êng cho phÐp c¸c Agent hîp t¸c ®−îc víi nhau. C¸c hÖ thèng multi-Agent cã thÓ ®−îc sö dông cã hiÖu qu¶ vµo nh÷ng lÜnh vùc rÊt kh¸c nhau trong ngµnh x©y dùng nh− thiÕt kÕ hîp t¸c víi viÖc tham gia cña tri thøc chuyªn gia ë rÊt nhiÒu lÜnh vùc kh¸c nhau, tÝnh to¸n song song c¸c bµi to¸n lín nh−ng cã thÓ chia thµnh c¸c c¸c bµi to¸n con ®éc lËp, v.v... Tµi liÖu tham kh¶o [1]. Gerhard Weiss. MultiAgent Systems - A Modern Approach to Distributed Modern Approach to Artificial Intelligence, Massachusetts Institute of Technology, 1999. [2]. JADE TUTORIAL JADE PROGRAMMING FOR BEGINNERS [3]. JADE PROGRAMMER’S GUIDE [4]. Hartmann et all. Support of Collaborative Structural Design Processes through the Integration of Peer- to-Peer and MultiAgent Architectures, B¸o c¸o héi th¶o, 2005 [5]. Hartmann et all. Parallel Software Framework for Fatigue Analyses Based on Software Agents, Institute for Computational Engineering, Ruhr-University Bochum, Germany, B¸o c¸o héi th¶o, 2005 [6]. Hartwig Gunzer, Sales Engineer. Introduction to Web Services, Borland, 2002. [7]. Hyacinth S. Nwana, Software Agents: An Overview, Intelligent Systems Research,Cambridge University Press, 1996 [8]. Roberto A. Flores-Mendez. Towards a Standardization of Multi-Agent System Frameworks, 1999 [9]. Ali Bahrami. Ph¸t triÓn hÖ thèng h−íng ®èi t−îng, McGRAW-HILL INTERNATIONAL EDITIONS, 1998 [10]. http://en.wikipedia.org/wiki/Distributed_computing
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
13=>1