殷鋒社
(陜西工業(yè)職業(yè)技術(shù)學(xué)院 陜西 咸陽 712000)
為解決目前市場(chǎng)應(yīng)用中電子商務(wù)在效率、成本和業(yè)務(wù)智能化方面的問題,文中在詳細(xì)論述移動(dòng)Agent技術(shù)的基礎(chǔ)上提出了一種新的電子商務(wù)模式。
Agent的5個(gè)概念:Agent組織、Agent平臺(tái)、系統(tǒng)Agent、Multi-Agent系統(tǒng)和Agent應(yīng)用系統(tǒng)是容易被人們混淆的,在研究移動(dòng)Agent系統(tǒng)之前,有必要對(duì)他們進(jìn)行診釋。
1)Agent組織
Agent組織可以認(rèn)為是Agent的集合和移動(dòng)Agent系統(tǒng)的分布式問題求解機(jī)制,也是多Agent系統(tǒng)社會(huì)性的一個(gè)重要的方面。Agent組織是MAS研究的模型、組織和交互語言3個(gè)主要問題之一,組織的形成和演化問題是基于Agent的計(jì)算和Agent合作問題求解的關(guān)鍵。多Agent在問題求解中表現(xiàn)的組織形態(tài)就是組織結(jié)構(gòu)。面向結(jié)構(gòu)的Agent組織形成方法與人類社會(huì)的組織產(chǎn)生機(jī)制相符合,是一種目標(biāo)明確的組織形成方法。一個(gè)為了完成一組目標(biāo)的組織結(jié)構(gòu)[1]為:
其中,A_ID是組織結(jié)構(gòu)標(biāo)識(shí)符,Role是非空的角色集合,Relation是角色關(guān)系集合,A_Goal是非空的組織目標(biāo)集合,Manager是非空的組織管理者集合。
目前,關(guān)于Agent組織的形成方法有:①基于協(xié)商的合同網(wǎng)協(xié)議。當(dāng)一個(gè)Agent發(fā)現(xiàn)自己面臨的問題難以獨(dú)立求解或者合作求解更有效時(shí),通過與其他Agent的協(xié)商,將其部分或全部任務(wù)委托其他Agent來完成,在他們之間形成顧客與服務(wù)員關(guān)系型組織:②基于依賴關(guān)系的社會(huì)推理。通過對(duì)Agent之間依賴關(guān)系的社會(huì)推理,發(fā)現(xiàn)與其目標(biāo)有依賴關(guān)系的其他Agent,與他們形成不同形式的合作組織;③基于對(duì)策論的聯(lián)盟形成。通過聯(lián)盟效用的計(jì)算與分配,依據(jù)Agent個(gè)體、聯(lián)盟和群體理性原則,在Agent之間形成不;一習(xí)的聯(lián)盟:④基于價(jià)洛調(diào)控的市場(chǎng)機(jī)制,通過市場(chǎng)價(jià)格的調(diào)整,Agent形成供求平衡下的買賣關(guān)系;⑤面向結(jié)構(gòu)的組織形成。
組織結(jié)構(gòu)的設(shè)計(jì)過程一般由5個(gè)步驟完成[2]:
①由不同Agent的共同目標(biāo)出發(fā),確定組織目標(biāo).;
②根據(jù)組織目標(biāo)進(jìn)行任務(wù)分解,劃分出不同的子任務(wù);
③由子任務(wù)設(shè)計(jì)組織角色。
設(shè)一個(gè)組織中的Agent a和Agent b有部分共同求解目標(biāo),Agent a有目標(biāo)集Ga,Agent b有目標(biāo)集Gb
其中g(shù)oalcl,goalc2是Agent a和Agent b的共同目標(biāo)。在進(jìn)行組織結(jié)構(gòu)設(shè)計(jì)時(shí),用戶向系統(tǒng)發(fā)出任務(wù)請(qǐng)求,Agent模板創(chuàng)建兩個(gè)Agent a和Agent b,系統(tǒng)Agent根據(jù)請(qǐng)求首先設(shè)計(jì)一個(gè)空的組織結(jié)構(gòu)框架。并通知Agent a和Agent b,Agent a和Agent b收到組織結(jié)構(gòu)框架設(shè)計(jì)成功的消息后,向系統(tǒng)發(fā)送各自的求解目標(biāo),供事務(wù)服務(wù)Agent進(jìn)行任務(wù)分解,進(jìn)一步完成組織目標(biāo)和組織角色的設(shè)計(jì)。如果Agent a和Agent b沒有共同目標(biāo),則組織結(jié)構(gòu)設(shè)計(jì)失敗,系統(tǒng)終止。
Agent組織角色的創(chuàng)建基于組織目標(biāo)。通過把組織目標(biāo)分解成各個(gè)子任務(wù),并把相同或相似的子任務(wù)合并,由角色承擔(dān)不同的子任務(wù),完成組織角色的創(chuàng)建。已創(chuàng)建的角色統(tǒng)一放入角色字典中。在創(chuàng)建過程中如果遇到相同或相似的組織角色則進(jìn)行合并,并記錄組織角色的需求數(shù)量,供具體組織形成時(shí)參考使用。
在二演算中引入了一個(gè)新的操作原語new,用來表示創(chuàng)建一個(gè)空的組織結(jié)構(gòu),表示為new os,其中create org表示組織結(jié)構(gòu)創(chuàng)建成功以后,啟動(dòng)該進(jìn)程建立具體的Agent組織。Milner給出了基本演算的形式語義。組織結(jié)構(gòu)設(shè)計(jì)的語義[3]可描述如下:
MAS_ORG={user.Request
task
agent template.Create
Agent a,Agent b
agent Tran.Create
an empty os_frame&inform (msg, Agent a, Agent b))
match (msg)
Agent a.Send&Agent b.Send
Ga{goalal, goala2,……,goalcl, goalc2}
Gb{goalbl,goalb2,……,goalcl, goalc2)
Result=?common goal(Ga Gb)
if result=EMPTY
return (fail)
new os (os_frame)
task decomp (os_oal, os_task, Ga,Gb)
create_roles (os_task)
create_org(roles)
}
其中,EMPTY表示空集合。
2)Agent平臺(tái)
Agent平臺(tái)(也稱為Agent系統(tǒng))是在Agent理論基礎(chǔ)上設(shè)計(jì)出來的提供給用戶開發(fā)或運(yùn)行Agent應(yīng)用系統(tǒng)的支撐環(huán)境,是MAS的重要組成部分。GeneralMagic公司的Telescript,IBM公司的Aglet和南京大學(xué)的Mogent等都是比較成熟的純Java的Agent平臺(tái)。Agent平臺(tái)的作用是負(fù)責(zé)為移動(dòng)Agent建立安全、正確的運(yùn)行環(huán)境,為其提供最基本的服務(wù)(包括創(chuàng)建、傳輸、執(zhí)行),實(shí)施針對(duì)具體 Agent的約束機(jī)制、容錯(cuò)策略、安全控制和通信機(jī)制等監(jiān)督與控制功能。它還提供了一些用戶對(duì)系統(tǒng)進(jìn)行訪問的方法,主要包括Agent和系統(tǒng)Agent的啟動(dòng)控制、狀態(tài)的獲取、系統(tǒng)的輸入輸出、系統(tǒng)資源的維護(hù)和系統(tǒng)的關(guān)閉等。
Agent是用戶編程的主要對(duì)象,用戶利用Agent平臺(tái)中Agent模板創(chuàng)建Agent a終端用戶填寫Agent的屬性和模板中的任務(wù)字典,在平臺(tái)運(yùn)行時(shí),Agent類具體化為一個(gè)Agent實(shí)例,其屬性和行為來自模板。Agent為了實(shí)現(xiàn)移動(dòng),發(fā)送消息等通訊功能需要調(diào)用一些系統(tǒng)Agent的功能,這種調(diào)用是通過對(duì)系統(tǒng)Agent代理的Clone上的方法調(diào)用來實(shí)現(xiàn),這樣的調(diào)用出于安全性考慮。
3)系統(tǒng) Agent
系統(tǒng)Agent主要目的是為了實(shí)現(xiàn)移動(dòng)Agent的定位、移動(dòng)和發(fā)送消息等功能,它被分成幾個(gè)部分,每個(gè)部分實(shí)現(xiàn)部分相對(duì)獨(dú)立的功能。它通過注冊(cè)到自身的系統(tǒng)助手和平臺(tái)進(jìn)行通訊,調(diào)用平臺(tái)上的函數(shù),同時(shí)平臺(tái)可以直接對(duì)系統(tǒng)Agent進(jìn)行訪問。在一個(gè)平臺(tái)上有多個(gè)系統(tǒng)Agent,承擔(dān)不同的任務(wù),如目錄服務(wù)、事務(wù)服務(wù)、事件服務(wù)、應(yīng)用服務(wù)和安全服務(wù)等,目錄服務(wù)維持Agent名字和其傳輸?shù)刂穼?duì)應(yīng)的目錄,提供移動(dòng)Agent的定位信息,形成路由選擇;事務(wù)服務(wù)實(shí)現(xiàn)移動(dòng)Agent的創(chuàng)建、移動(dòng)、調(diào)度和資源分配;事件服務(wù)包含Agent傳輸協(xié)議和Agent通信協(xié)議,實(shí)現(xiàn)移動(dòng)Agent間的事件傳遞;安全服務(wù)提供安全的執(zhí)行環(huán)境;應(yīng)用服務(wù)提供面向特定任務(wù)的服務(wù)接口。
4)Multi-Agent系統(tǒng)
Multi-Agent系統(tǒng)[4](Multi-Agent System, MAS 是由一些聯(lián)合其知識(shí)、目標(biāo)、職能和計(jì)劃的協(xié)作承擔(dān)任務(wù)或解決問題的不同的計(jì)算實(shí)體組成的集合,這些集合元素就是Agent,它們具有相互作用以實(shí)現(xiàn)到總的目標(biāo)。MAS可被定義為:
其中,AP,As,Ao 分別表示 Agent平臺(tái)、 系統(tǒng) Agent和Agent組織。每個(gè)目標(biāo)由若干Agent協(xié)作完成。由此可見,MAS是由Agent平臺(tái)、系統(tǒng)Agen t和Agent組織組成的系統(tǒng)。
5)Agent應(yīng)用系統(tǒng)
Agent應(yīng)用系統(tǒng)是在Agent平臺(tái)上開發(fā)出來的程序系統(tǒng),Agent是系統(tǒng)中的工作實(shí)體,Agent平臺(tái)是它的運(yùn)行環(huán)境。實(shí)際上,Agent應(yīng)用系統(tǒng)就是擁有一個(gè)或多個(gè)Agent組織的系統(tǒng)。如基于移動(dòng)Agent的智能電子商務(wù)系統(tǒng)、智能搜索引擎等。以上五個(gè)概念之間的關(guān)系如圖1所示。
圖1 Agent應(yīng)用系統(tǒng)Fig.1 Agent application system
MAS的研究始于20世紀(jì)70年代的分布式人工智能。此后,MAS的研究?jī)?nèi)容隨著年代的變化而不斷深入,MAS不僅僅是DAI領(lǐng)域的研究問題,同時(shí)相關(guān)科學(xué)的研究成果對(duì)它也起到了重要的影響作用,如管理科學(xué)、經(jīng)濟(jì)學(xué)和社會(huì)學(xué)等。對(duì)經(jīng)濟(jì)規(guī)律如市場(chǎng)機(jī)制、游戲理論、平衡概念等的深入研究將用于設(shè)計(jì)Agent交互策略。MAS研究者借助于游戲理論的研究成果,將其用于Agent談判策略的設(shè)計(jì)。管理學(xué)中的組織理論研究幫助我們認(rèn)識(shí)并設(shè)計(jì)Agent組織。社會(huì)學(xué)中關(guān)于人類行為的研究則能使Agent具有人類社會(huì)某些特征,如角色分配、團(tuán)隊(duì)和競(jìng)爭(zhēng)等。MAS為AI的研究提供了一個(gè)新的機(jī)器學(xué)習(xí)、知識(shí)發(fā)現(xiàn)和知識(shí)表達(dá)模型。
為了加快移動(dòng)Agent技術(shù)[5]的發(fā)展和推動(dòng)其具體應(yīng)用,一些標(biāo)準(zhǔn)化組織制紛紛訂了Agent規(guī)范,最有影響力的國(guó)際組織有OMG下屬的Agent Working Group和FIPA的MASIF規(guī)范、FIPA的FIPA97-99規(guī)范對(duì)Agent的名稱、管理、遷移、語言等進(jìn)行了標(biāo)準(zhǔn)化。IBM提出了ATP (Agent Transport Protocol)框架結(jié)構(gòu),是一個(gè)Agent傳輸協(xié)議的最小實(shí)現(xiàn)。Agent管理是其應(yīng)用的前提,負(fù)責(zé)Agent的的創(chuàng)建、注冊(cè)、agent定位、通信和移植等操作。Agent管理模型如圖2所示。
圖2 Agent管理模型Fig.2 Agent management model
1)General Magic公司的Telescript
Telescript是General Magic公司推出的第一個(gè)商用移動(dòng)Agent系統(tǒng)。它是用Telescript語言(一種面向?qū)ο蟮慕忉屝哉Z言)編寫的。在Telescript中,Agent被編譯成為一種虛擬機(jī)的字節(jié)碼,該虛擬機(jī)是每個(gè)服務(wù)器的一部分。每一個(gè)網(wǎng)絡(luò)站點(diǎn)運(yùn)行一個(gè)服務(wù)器來維護(hù)一個(gè)或多個(gè)虛擬的地點(diǎn),地點(diǎn)通過檢查Agent加密的信任狀來識(shí)別其主人}`'1}a Agent之間的通信方式有:運(yùn)行在同意地點(diǎn)的Agent可以相互調(diào)用對(duì)方的方法;在不同地點(diǎn)運(yùn)行時(shí)需要建立連接,互相傳遞對(duì)象。Telescript是一個(gè)比較成功的移動(dòng)Agent系統(tǒng),其安全性、容錯(cuò)性較好,執(zhí)行效率較高,但由于Java的流行和優(yōu)勢(shì),必然導(dǎo)致它的失敗。General Magic公司開發(fā)了基于Java的Odyssey系統(tǒng)。
2)IBM公司的Aglet
Aglet是agent與applet合成的,是由日本IBM公司用純Java開發(fā)的移動(dòng)Agent系統(tǒng),并提供著實(shí)用的平臺(tái)一Aglet Workbench,讓人們開發(fā)或執(zhí)行移動(dòng)Agent系統(tǒng)。到目前為止,Aglet是非常成功和全面的系統(tǒng),這主要表現(xiàn)在:Aglet系統(tǒng)首先提供一個(gè)上下文環(huán)境來管理Agent的基本行為,如創(chuàng)建、復(fù)制、分派、召回、喚醒以及清除等。Aglet采用消息傳遞的方式來傳遞消息對(duì)象進(jìn)行通信。此外,基于安全上的考慮,Aglet并非讓外界直接存取其信息,而是透過一個(gè)代理(proxy)提供相應(yīng)的接口與外界溝通。Workbench是一個(gè)可視化環(huán)境,用來建立使用移動(dòng)Agent的應(yīng)用系統(tǒng).
網(wǎng)絡(luò)結(jié)點(diǎn)上的資源是Agent完成任務(wù)的基礎(chǔ),把與網(wǎng)絡(luò)結(jié)點(diǎn)配置有關(guān)的情況稱為該結(jié)點(diǎn)的系統(tǒng)資源。將資源分為設(shè)計(jì)資源、系統(tǒng)資源和Agent資源,并給出了系統(tǒng)資源的描述。實(shí)際上,任務(wù)設(shè)計(jì)和Agent都屬于MAS討論的問題,其系統(tǒng)資源的描述也不全面。文中將Agent執(zhí)行任務(wù)所需的資源歸結(jié)為系統(tǒng)資源,包括機(jī)器硬件資源、軟件資源、網(wǎng)絡(luò)設(shè)備資源和信息資源。系統(tǒng)資源[6]具體描述如下:
Structure Sys Source
{
Integer NetNode 一 umber;
Structure Hard_Source;//機(jī)器硬件資源
Structure Soft_Source;//軟件資源
Structure NetDevice_Source;//網(wǎng)絡(luò)設(shè)備資源
Structure Info_Source;//信息資源
}
Structure Hard Source
{
CmpString Cmp_CPU;
CmpString Cmp_RAM;
CmpString Cmp_HD;
CmpString Cmp_Multi-Media_Dev;
CmpString Cmp_Input_Dev;
CmpString Cmp_Output_Dev;
}
Structure Soft Source
{
SoftString Soft_OS;
SoftString Softes Net;
SoftString Softes Application;
}
Structure NetDevice Source
{
NDString ND_Router;
NDString ND_Switcher;
NDString ND_Gateway;
}
Structure Info Source
{
InfoString Info_DB;
InfoString Info_KB;
InfoString Info_Files;
}
隨著移動(dòng)Agent應(yīng)用的發(fā)展,如何為不同服務(wù)質(zhì)量要求的用戶合理的分配有限的資源、提高使用效率,成為近期研究的熱點(diǎn)。近來研究者把微觀經(jīng)濟(jì)學(xué)的方法引入移動(dòng)Agent的資源分配領(lǐng)域,為這一領(lǐng)域研究提出了嶄新的思路。它們存在以下問題:1)只考慮了Agent的競(jìng)爭(zhēng),沒有考慮Agent的協(xié)作;2)沒有考慮資源的時(shí)間性;3)由于算法較復(fù)雜,導(dǎo)致了較大的系統(tǒng)開銷。可以采用操作系統(tǒng)中關(guān)于資源分配的策略進(jìn)行Agent資源分配,但由于Agent資源含義不僅局限于硬件資源及Agent的動(dòng)態(tài)、移動(dòng)、協(xié)作等特性,簡(jiǎn)單的操作系統(tǒng)資源分配策略是難以適應(yīng)Agent資源分配的要求。由多個(gè)子目標(biāo)組成的Agent組織執(zhí)行用戶提交的任務(wù),子目標(biāo)由Agent協(xié)作完成,為了實(shí)現(xiàn)組織的目標(biāo),組織就應(yīng)成為資源分配的基本單位考慮到資源的動(dòng)態(tài)性及組織任務(wù)的執(zhí)行時(shí)間、緊迫性和重要性等因素,這里給出了一種基于組織的動(dòng)態(tài)資源分配算法。
Agent調(diào)度問題就是如何利用有限的網(wǎng)絡(luò)資源和時(shí)間完成指定的多個(gè)任務(wù),屬于Job-shop問題。Job-shop是一類復(fù)雜且極具代表性的生產(chǎn)調(diào)度問題,其復(fù)雜性超乎想象,為解決這一問題,學(xué)者們作了大量研究工作,嘗試了許多方法,這些方法可分為兩類:指派方法和進(jìn)化計(jì)算。
進(jìn)化規(guī)劃(Evolutionary Programming,EP)最早是由美國(guó)的L.J.Fogel,A.J.Owens等人首先提出的,EP是進(jìn)化計(jì)算中的代表算法之一。文獻(xiàn)證明了他的動(dòng)態(tài)尋優(yōu)機(jī)理。算法流程如圖3所示。
圖3 EP算法流程Fig.3 EP algorithm flow
1)將問題的解編碼為數(shù)字串;
2)隨機(jī)產(chǎn)生S個(gè)可行解構(gòu)成的初始種群,S為種群規(guī)模;
3)將當(dāng)前種群中的S個(gè)個(gè)體進(jìn)行變異,產(chǎn)生新的個(gè)體:
4)計(jì)算所產(chǎn)生的個(gè)體適應(yīng)度函數(shù)值;
5)采取父子競(jìng)爭(zhēng)策略,從2S個(gè)體中選出S個(gè)個(gè)體作為新一代種群,返回步驟③,重復(fù)此過程直到獲得滿意的解或達(dá)到給定的迭代次數(shù)。
以上算法是標(biāo)準(zhǔn)的EP算法,變異算子采用的是高斯變換,終止條件采用最大進(jìn)化代數(shù)或出現(xiàn)滿意的個(gè)體。
調(diào)度任務(wù)是基于時(shí)間的序列,任務(wù)之間除了具有邏輯上的相關(guān)性外,還具有時(shí)間上的相關(guān)性,即任務(wù)必須在規(guī)定的時(shí)間內(nèi)完成。調(diào)度方案S可以被描述為一個(gè)定時(shí)任務(wù)的序列集合,即
其中,Pl(t)代表第 1 個(gè)任務(wù)。
Pa(t)存在的約束如下:
1)定時(shí)
必須滿足下列時(shí)間約束is(i>+t(L)ate(1)
2)資源限制
任務(wù)的合理調(diào)度以使網(wǎng)絡(luò)負(fù)載均衡,充分發(fā)揮系統(tǒng)資源的效用。Agent的自治性、自適應(yīng)性、協(xié)同性和可移動(dòng)性等顯著特點(diǎn)為解決分布任務(wù)處理問題提供了新途徑。多Agent系統(tǒng)中的任務(wù)通過Agent調(diào)度器統(tǒng)一調(diào)度。系統(tǒng)任務(wù)分解Agent將求解的問題分解為若干子任務(wù),并提出調(diào)度請(qǐng)求,調(diào)度器考慮到各任務(wù)的執(zhí)行條件,如資源、時(shí)間、優(yōu)先度等,選擇一定的調(diào)度算法,確定調(diào)度方案。系統(tǒng)資源由資源管理器管理和調(diào)配。執(zhí)行任務(wù)的各Agent根據(jù)系統(tǒng)資源分布和實(shí)時(shí)要求派遣到相應(yīng)的目標(biāo)主機(jī)進(jìn)行任務(wù)處理。調(diào)度模型如圖4所示。
圖4 Agent調(diào)度模型Fig.4 Agent scheduling model
移動(dòng)Agent(Mobile Agent,MA)的遷移與分布式對(duì)象的交互及Java Applet的下載有著很大的不同。在基于CORBA或DCOM的分布式對(duì)象系統(tǒng)中,一個(gè)對(duì)象能夠通過網(wǎng)絡(luò)遠(yuǎn)程地調(diào)用其他對(duì)象的方法。但是,在兩個(gè)對(duì)象的交互過程,沒有任何一個(gè)是移動(dòng)的。WWW中Applet的下載也僅是提供了一種從Web服務(wù)器把代碼下載到Web瀏覽器的機(jī)制,并沒有為相應(yīng)狀態(tài)信息的遷移提供任何機(jī)制。
MA的體系結(jié)構(gòu)應(yīng)包括Agent代碼部分、運(yùn)行環(huán)境部分和Agent狀態(tài)部分。代碼部分是MA遷移過程中不可缺少的部分,是傳送給“數(shù)據(jù)”執(zhí)行“計(jì)算”的部分;為了能在異構(gòu)網(wǎng)絡(luò)環(huán)境中遷移,MA應(yīng)具有與平臺(tái)無關(guān),安全性要求高等特點(diǎn),而Java可以較好的滿足這些要求。因?yàn)镴ava代碼的平臺(tái)無關(guān)性和Java虛擬機(jī)的廣泛分布性,為MA提供了良好的運(yùn)行環(huán)境,具體包括MA所需的資源,對(duì)MA代碼的執(zhí)行和遷移請(qǐng)求的響應(yīng),提供安全性認(rèn)證的信息等:狀態(tài)部分保存MA在移動(dòng)之前的狀態(tài)信息,以便當(dāng)Agent遷移到另一個(gè)結(jié)點(diǎn)后重新獲取這些狀態(tài)信息,提高運(yùn)行效率。
本章介紹了MAs的研究現(xiàn)狀與研究?jī)?nèi)容,解析了Agent組織、Agent平臺(tái)、系統(tǒng) Agent,Multi-Agent系統(tǒng)和 Agent應(yīng)用系統(tǒng)5個(gè)概念之間的關(guān)系,討論了Agent組織結(jié)構(gòu)的形成機(jī)制及形式化描述。在MAS中,為了使已分配資源的移動(dòng)Agent遷移到指定的結(jié)點(diǎn)執(zhí)行任務(wù),需要解決Agent的資源分配、任務(wù)調(diào)度和遷移問題。
[1]Geun-Sik J,Chae Y M.Intelligent electronic commerce[J].Expert Systems with Applications,2003,24(2):151-151.
[2]Ryszard K,Lee M.Artificial intelligence in electronic commerce[J].Lecture Notes in Computer Science,2001,21(12):133-134.
[3]Turowski K.Agent-based e-commerce in case of mass customization[J].Int J Production Economics,2002(75):69-81.
[4]Malcolm B,Brian S.E-commerce oriented software agents[J].Computer Law&Security Report,2003,19(3):201-211.
[5]Maamar Z.Association of users with software agents in ecommerce Electronic Commerce[J].Research and Applications,2002(1):104-112.
[6]Fingar P.A CEO's guide to e-Commerce using objectoriented intelligent agent[J].Commerce Net Research Report,1998,9(19):18-20.