專利名稱:用于在虛擬環(huán)境中進(jìn)行協(xié)商的代理、方法和計(jì)算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)虛擬環(huán)境的管理,具體涉及但不限于軟件代理和用于執(zhí)行這些軟件代理的計(jì)算機(jī)系統(tǒng)。本發(fā)明還涉及一種對(duì)真實(shí)環(huán)境進(jìn)行仿真和利用仿真環(huán)境來管理需求和資源的方法。
背景技術(shù):
在現(xiàn)代社會(huì)中,真實(shí)環(huán)境的計(jì)算機(jī)仿真變得越來越重要。很多傳統(tǒng)上由人工控制的系統(tǒng)已經(jīng)受益于由計(jì)算機(jī)進(jìn)行的自動(dòng)控制。這在大部分部門中都很明顯,例如工業(yè)生產(chǎn)線、航空器上的自動(dòng)導(dǎo)航功能等?,F(xiàn)代計(jì)算平臺(tái)提供的強(qiáng)大的處理能力和輸出的相容性,使得利用計(jì)算機(jī)來控制系統(tǒng)成為發(fā)展趨勢(shì)。自動(dòng)化行為(即,不受人工干預(yù))的程度,僅由系統(tǒng)理解的智能所決定。
通常使用諸如人工智能、模糊邏輯、神經(jīng)網(wǎng)絡(luò)等計(jì)算原理來增加系統(tǒng)所謂的“智能”控制。特別是所謂的“代理(agent)”在不斷增長。這里所述的代理是指能夠自主且智能地與其他代理進(jìn)行通信的軟件對(duì)象。
可以通過識(shí)別系統(tǒng)的關(guān)鍵單元,然后開發(fā)具有用于表示這些關(guān)鍵單元的相同屬性和特征的專門代理,來對(duì)系統(tǒng)進(jìn)行建模。
當(dāng)事先已知系統(tǒng)中的所有資源和對(duì)資源的所有需求時(shí),可以很好地理解分配資源的問題,從而可以利用現(xiàn)有技術(shù)解決該問題。然而,真實(shí)市場(chǎng)狀況非常混亂,以至于對(duì)資源的需求往往經(jīng)受頻繁的和不可預(yù)測(cè)的變化。資源的分配是動(dòng)態(tài)的。在這種情況下,資源分配算法必須包括用于頻繁的和快速的重新分配的措施。傳統(tǒng)的程序不能處理這些情況。
多代理系統(tǒng)提供了一種用于針對(duì)頻繁變化的需求動(dòng)態(tài)分配和重新分配資源的有效方法。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的是提供一種建模技術(shù),和與其相關(guān)的能夠動(dòng)態(tài)分配系統(tǒng)中的資源的多個(gè)組件。
根據(jù)本發(fā)明的第一方面,提供了一種適于在虛擬環(huán)境中進(jìn)行協(xié)商的代理,所述代理包括代理描述符,被實(shí)現(xiàn)為一可執(zhí)行程序,并且包括用于確定所述代理的協(xié)商特征的一組屬性;以及代理體,被實(shí)現(xiàn)為一可執(zhí)行程序,并且包括用于從所述虛擬環(huán)境接收信息的至少一個(gè)傳感器、用于與所述環(huán)境進(jìn)行交互的至少一個(gè)執(zhí)行器,以及一決策引擎,該決策引擎可在一預(yù)定的時(shí)間段內(nèi)在活動(dòng)狀態(tài)下進(jìn)行操作,以基于從所述至少一個(gè)傳感器接收到的信息來執(zhí)行決策過程,其中,所述決策引擎可以進(jìn)行操作,以根據(jù)所述協(xié)商特征來建立與另一代理的關(guān)系,和確定表示所建立關(guān)系的質(zhì)量的值。
根據(jù)本發(fā)明的第二方面,提供了一種通過創(chuàng)建包括如上所述的多個(gè)代理的虛擬環(huán)境來對(duì)真實(shí)環(huán)境進(jìn)行仿真的方法,該方法包括對(duì)于至少一些所述代理,在一預(yù)定時(shí)間段內(nèi)使所述代理進(jìn)入活動(dòng)(active)狀態(tài);對(duì)于每個(gè)活動(dòng)的代理,基于從至少一個(gè)傳感器接收到的信息,并根據(jù)所述代理的協(xié)商特征,來實(shí)現(xiàn)決策過程,以確定是否可與另一代理建立關(guān)系;以及,在所述預(yù)定時(shí)間段后,使所述代理進(jìn)入被動(dòng)狀態(tài),其中,所述代理具有自由或成對(duì)狀態(tài),并且其中,成對(duì)的代理擁有用于確定它們已建立的關(guān)系的質(zhì)量的值。
根據(jù)本發(fā)明的又一方面,提供了一種用于操作一計(jì)算機(jī)以實(shí)現(xiàn)適于在虛擬環(huán)境中進(jìn)行協(xié)商的代理的方法,該方法包括執(zhí)行用于定義代理描述符的第一程序,所述代理描述符包括一組用于確定所述代理的協(xié)商能力的屬性;通過提供至少一個(gè)用于從所述虛擬環(huán)境接收信息的傳感器和至少一個(gè)用于與所述環(huán)境進(jìn)行交互的執(zhí)行器,來建立代理體;以及執(zhí)行第二程序,以實(shí)現(xiàn)與所述至少一個(gè)傳感器相關(guān)聯(lián)的決策引擎,該決策引擎可以在一預(yù)定時(shí)間段內(nèi)在活動(dòng)狀態(tài)下進(jìn)行操作,以基于從所述至少一個(gè)傳感器接收到的信息,根據(jù)所述代理的協(xié)商特征,來執(zhí)行決策過程,其中,所述決策引擎可以操作,以根據(jù)所述協(xié)商特征來建立與另一代理的關(guān)系,并確定表示所建立關(guān)系的質(zhì)量的值。
根據(jù)本發(fā)明的再一方面,提供了一種用于操作一計(jì)算機(jī)系統(tǒng)以管理需求和資源的方法,該方法包括生成表示資源和需求當(dāng)前狀態(tài)的情景(secene);將多個(gè)代理實(shí)例化(instantiating)為可執(zhí)行的程序,所述多個(gè)代理包括表示資源的第一組資源代理和表示需求的第二組需求代理,其中,每個(gè)代理都可操作,以與另一代理交換消息,并且包括一決策引擎,其用于基于來自所述情景的信息和來自所述另一代理的消息來執(zhí)行決策過程,以建立與所述另一代理的關(guān)系,并將一關(guān)系值與所述關(guān)系關(guān)聯(lián)起來;以及,將所述關(guān)系值與用于該關(guān)系的基準(zhǔn)值進(jìn)行比較,以確定所述關(guān)系是否滿意。
根據(jù)本發(fā)明的另一方面,提供了一種被配置為用于表示真實(shí)世界的虛擬世界的計(jì)算機(jī)系統(tǒng),該系統(tǒng)包括第一組需求代理,被實(shí)現(xiàn)為可執(zhí)行程序,每個(gè)需求代理包括用于表示真實(shí)世界中的需求的一組屬性;第二組資源代理,被實(shí)現(xiàn)為可執(zhí)行程序,每個(gè)資源代理包括用于表示真實(shí)世界中的資源的一組屬性;其中,所述需求代理和所述資源代理可進(jìn)行操作,以通過交換消息進(jìn)行協(xié)商,所述消息包含與每個(gè)代理的需求和資源對(duì)應(yīng)的所述屬性組,以便決策引擎可以基于預(yù)定義的準(zhǔn)則來建立關(guān)系;并且其中,當(dāng)將一新需求或資源輸入所述系統(tǒng)時(shí),用于表示所述新需求或資源的代理能夠通過提供補(bǔ)償以提高用于表示所建立關(guān)系的質(zhì)量的值,來干擾一對(duì)代理之間已建立的關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)系統(tǒng)包括一用于執(zhí)行多個(gè)程序的處理器和一用于存儲(chǔ)多個(gè)代理定義器(definer)的存儲(chǔ)器,每個(gè)程序表示一用于在虛擬環(huán)境中進(jìn)行協(xié)商的代理,每個(gè)代理定義器具有一包括以下部分的本體(ontology)一組屬性,定義所述代理的性質(zhì);一組特征,定義用于由所述代理進(jìn)行協(xié)商的特征;一組場(chǎng)景(scenario),可由所述代理執(zhí)行以實(shí)現(xiàn)不同決策過程;以及,關(guān)系質(zhì)量庫,用于保持定義由所述代理建立的關(guān)系的質(zhì)量的值。
為更好地理解本發(fā)明并且為示出本發(fā)明如何實(shí)施,下面通過示例對(duì)附圖進(jìn)行說明,其中圖1示出了一虛擬世界情景的示例;圖2示出了根據(jù)一個(gè)實(shí)施例的虛擬世界情景的邏輯結(jié)構(gòu);圖3示出了空運(yùn)貨物運(yùn)輸示例的邏輯圖;圖4示出了在所述空運(yùn)貨物示例的第一情況下代理之間的協(xié)商;圖5示出了在所述空運(yùn)貨物示例的第二情況下對(duì)于自組織的協(xié)商;圖6示出了一電子商務(wù)應(yīng)用;圖7示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的基本代理結(jié)構(gòu);圖8示出了根據(jù)本發(fā)明實(shí)施例的代理體的組成部分;圖9示出了代理操作周期的步驟的流程圖;圖10示出了代理的元本體(metaontology)的示例;圖11示出了用于所述電子商務(wù)應(yīng)用的汽車代理的本體的示例;圖12示出了根據(jù)本發(fā)明實(shí)施例的決策機(jī)器所用數(shù)據(jù)結(jié)構(gòu)的表;圖13示出了根據(jù)本發(fā)明實(shí)施例的代理之間的協(xié)商步驟;以及圖14示出了用于決策機(jī)器的數(shù)據(jù)結(jié)構(gòu)的另選實(shí)施例。
圖15示出了用于實(shí)現(xiàn)本發(fā)明的客戶機(jī)-服務(wù)器實(shí)施例。
具體實(shí)施例方式
在描述本發(fā)明的優(yōu)選實(shí)施例之前,先給出一些基本概念的簡(jiǎn)要說明。虛擬世界,顧名思義,是指為對(duì)真實(shí)系統(tǒng)進(jìn)行仿真而創(chuàng)造的人工系統(tǒng)。本發(fā)明中的虛擬世界是指在其中為需求分配資源的系統(tǒng)。通過識(shí)別真實(shí)世界系統(tǒng)的各個(gè)不同組成部分,然后利用具有某些屬性和特征的軟件對(duì)象來模仿它們的行為,來創(chuàng)建這種虛擬世界。這些軟件對(duì)象被稱為“代理”,并能夠解釋從組成所述虛擬世界的其他對(duì)象接收到的信息??梢詫⑦@種虛擬世界中的代理指配給每個(gè)需求和每個(gè)資源。根據(jù)輸入,代理可以做出基于知識(shí)的決策,然后將該決策輸出給所述虛擬世界的其他單元。
應(yīng)該理解,與真實(shí)或物理世界相聯(lián)系的輸入和輸出接口使得用戶能夠控制所述系統(tǒng),并且利用其處理結(jié)果。與真實(shí)世界相聯(lián)系的接口可以采用用于計(jì)算機(jī)系統(tǒng)的任何已知輸入和輸出設(shè)備的形式。
有可能利用具有多個(gè)屬性和多個(gè)特征的能夠建立相互關(guān)系的多個(gè)代理來創(chuàng)建虛擬世界??蓪⑻摂M世界中與任何其他代理沒有建立關(guān)系的代理稱為所謂的“自由”代理。在這種情況下,自由代理將通過將其自身與其他代理進(jìn)行匹配來嘗試建立與其他代理的關(guān)系,該自由代理利用可識(shí)別的特征來將其他代理標(biāo)識(shí)為潛在的伙伴(partner)。這種匹配過程稱為協(xié)商。只有當(dāng)協(xié)商中的所有代理達(dá)成一致時(shí)才能建立多個(gè)代理之間的關(guān)系,并且只有當(dāng)所提議的關(guān)系滿足預(yù)定義的準(zhǔn)則時(shí)才許可所述達(dá)成的一致。所述準(zhǔn)則可以是多個(gè)代理間某些特征(例如特定的屬性、特征和/或值)的匹配。這將在下面詳細(xì)討論。
在系統(tǒng)中尋找匹配的自由代理將處于“活動(dòng)”狀態(tài)。如果沒有找到合適的匹配,所述代理切換到“被動(dòng)”狀態(tài),并等待虛擬世界狀態(tài)的改變。所述虛擬世界在某個(gè)時(shí)刻的狀態(tài)被稱為“情景”。已經(jīng)與其他代理建立關(guān)系的代理也可以切換到被動(dòng)狀態(tài),因?yàn)槿绻鎏摂M世界的狀態(tài)有變化,它們可能被重新激活?!扒榫啊钡母淖兛赡苡尚碌摹笆录?即,導(dǎo)致新代理的創(chuàng)建的新需求或資源的到達(dá))引起。代理通過“消息”與其他代理或虛擬世界進(jìn)行通信。
代理存在以下三種狀態(tài)“自由”,處于“不滿意”關(guān)系,或者處于“滿意”關(guān)系。這些術(shù)語的意義將在后面討論。當(dāng)虛擬世界的狀態(tài)有變化時(shí),或者在初始化時(shí),過程遵循以下順序首先激活自由代理,其次激活不滿意的代理,最后激活滿意的代理。為了匹配,每個(gè)代理為它嘗試匹配的屬性或特征保存一最小值和一最大值。尋找匹配特征的代理可以將它們所需的特定特征列入優(yōu)先地位。如果對(duì)于代理之間建立的關(guān)系,達(dá)到了它們各個(gè)特征相應(yīng)的最大值,稱這些代理是“滿意的”。如果與一代理匹配時(shí),其中一個(gè)要求的特征的值大于或等于最小值,那么仍可以建立代理的“不滿意”的關(guān)系。如果對(duì)于代理所要求的特征的值低于最小值,則不能與該代理建立關(guān)系。因此,在不滿意的代理之間可以存在關(guān)系,但是這種代理的不滿意性是重新考慮所建立的關(guān)系的強(qiáng)烈原因,而且在為所有自由代理檢查完是否存在合適的匹配后,接下來才按順序考慮這種代理。最后,激活滿意的代理以重新考慮它們的連接,并且,如果可行,重新建立所述連接以增加整個(gè)系統(tǒng)的總值。
可以將代理的最大值設(shè)置為能夠反映一總體平均系統(tǒng)值,例如一平均市場(chǎng)價(jià)格,該值是最期望能達(dá)到的。然而,可以將所述平均系統(tǒng)值設(shè)置得高于可容易達(dá)到的值,以考察是否可通過代理對(duì)的自主匹配動(dòng)作,通過利用補(bǔ)償來斷開已有的關(guān)系,來達(dá)到該值。為斷開代理間已建立的關(guān)系,向這些代理提供補(bǔ)償。只有重新協(xié)商后建立的關(guān)系比被斷開的關(guān)系更加滿意時(shí),才能接受補(bǔ)償。這個(gè)過程的作用將增加總體系統(tǒng)值,該總體系統(tǒng)值是基于所有代理的活動(dòng)的集總值。該總體系統(tǒng)值可以例如是“毛盈利”(即,錢)或一些其他被認(rèn)為對(duì)系統(tǒng)最重要的值。然而,應(yīng)該明白,可以利用“用戶滿意度”或“時(shí)間”等來衡量所述總體系統(tǒng)值。
需要指出的是,不滿意的關(guān)系可以變得更滿意或更不滿意。還可能通過利用提供的補(bǔ)償來匹配得高于最大值,使關(guān)系變得更加滿意。
只要時(shí)間允許或在新事件輸入系統(tǒng)之前,通過利用代理的匹配活動(dòng),本實(shí)施例就將具有不斷地優(yōu)化所述總體系統(tǒng)值的效果。如果在強(qiáng)大的執(zhí)行平臺(tái)上執(zhí)行線性協(xié)商策略,即從試圖匹配自由代理開始,然后匹配不滿意的代理,以及最后匹配滿意的代理,則該策略尤其有效,其中,代理可以一直工作以優(yōu)化所述系統(tǒng)。然而,由于大多數(shù)真實(shí)系統(tǒng)的動(dòng)態(tài)性質(zhì),常常需要為每個(gè)新事件限制代理活動(dòng)的時(shí)間段。
圖1示出了由資源(灰色標(biāo)記R)和需求(白色標(biāo)記D)代理組成的虛擬世界中的一個(gè)情景。圖中示出了7個(gè)代理100、102、104、106、108、110以及112,它們有意建立關(guān)系。需求代理100已與資源代理102建立了關(guān)系。由實(shí)線101來表示該關(guān)系已建立。笑臉表示兩個(gè)代理都滿意。兩條虛線105、107從需求代理106分別向資源代理104和108延伸。所述兩條虛線表示這些代理正處于協(xié)商過程中,但尚未建立有效的關(guān)系。笑臉表示所述代理到目前為止對(duì)所提議的關(guān)系是滿意的。第三,資源代理110正在嘗試與需求代理112建立關(guān)系。該關(guān)系由表示關(guān)系待建立的虛線111示出。此外,愁臉表示代理110和112不期望能有良好的匹配,但是目前沒有更好的關(guān)系。
注意,要么所述需求代理可以是活動(dòng)的,要么所述資源代理可以是活動(dòng)的。即,應(yīng)該理解,對(duì)于關(guān)系111來說,與圖1中的其他關(guān)系101、105、107相反的是,資源代理110啟動(dòng)協(xié)商。這通常是優(yōu)選的策略,尤其是在買方市場(chǎng)中,事實(shí)上圖1中的情景就是這種買方市場(chǎng)。也就是說,資源代理(賣方)102、104、108、110比需求代理(買方)100、106、112更多,這意味著需要為匹配過程考慮的買方更少。
一旦建立好關(guān)系,該關(guān)系只有經(jīng)過雙方同意才能被中止。因此在圖1中,如果一新的需求進(jìn)入所述系統(tǒng),可能將一已指配的資源代理匹配給所述新需求代理是最佳的。然而,如果是這種情況,需要所有的代理同意,并且為了修改已存在的關(guān)系,需要向原需求代理提供補(bǔ)償。
下面將更加全面地討論自組織的原理。對(duì)于自組織系統(tǒng)中的動(dòng)態(tài)資源分配,考慮一多代理系統(tǒng),假定任務(wù)是將n個(gè)資源分配給m個(gè)需求。在一優(yōu)選的實(shí)施例中,每個(gè)資源由一組f個(gè)特征表征,并且具有一以貨幣單位(mu)表示的值。每個(gè)需求由一組g個(gè)特征表征,并且具有也以mu表示的購買力。通常,需求是一個(gè)接一個(gè)地到達(dá)所述系統(tǒng)的,但是它們到達(dá)的時(shí)間和它們的特性是不可預(yù)測(cè)的。資源可以是恒定的,或者可以是隨時(shí)間變化的。
用于實(shí)現(xiàn)動(dòng)態(tài)資源分配的算法的基本示例包括以下步驟1、當(dāng)需求到達(dá)所述系統(tǒng)時(shí),將一代理分配給該需求。所分配的需求代理采用消息將其特征發(fā)送給所有自由代理,以請(qǐng)求一具有可以用特定數(shù)量的貨幣單位來付費(fèi)的特定特征的資源。
2、所有其資源具有所請(qǐng)求的特征或者至少一些所請(qǐng)求的特征的自由資源代理向所述需求代理提供供給。
3、然后所述需求代理從這些供給中選擇最合適的資源代理(基于它們的特性),從而建立匹配。
4、如果沒有合適的資源代理是自由的,所述需求代理通過以下方法來尋求從一已分配的資源代理獲得合適的資源或者與具有已建立的關(guān)系的相應(yīng)的不滿意需求代理重新協(xié)商,或者另選地向相應(yīng)的滿意需求代理提供補(bǔ)償以修改其已建立的關(guān)系。
5、然后,被供給補(bǔ)償?shù)乃鲂枨蟠砜紤]所述供給。所述需求代理僅當(dāng)所述補(bǔ)償能夠使其獲得具有改進(jìn)的匹配準(zhǔn)則(即,更接近(或者甚至高于)它的最大值)的其他合適資源時(shí),才接受所述供給。如果接受了所述補(bǔ)償?shù)墓┙o,這將產(chǎn)生有效重組整個(gè)系統(tǒng)的作用,其中,將修改所述原需求和資源代理之間提前建立的關(guān)系,并且將建立新需求與所述被釋放的資源代理之間的新關(guān)系。
6、重復(fù)步驟1到5的過程,直到所有資源與需求相連,并且要么不能改進(jìn)任何已建立的關(guān)系,要么用于分配的時(shí)間段已耗盡。換句話說,上述過程重復(fù)到在受限的時(shí)間段內(nèi)達(dá)到了最佳資源分配為止。
考慮在某個(gè)時(shí)刻可能存在這樣一種情景,即代理間的關(guān)系是滿意的,并且系統(tǒng)處于平衡狀態(tài)。然而在后來某時(shí)刻,一新事件輸入到系統(tǒng)中。這種事件可能是一新訂單,在此情況下將為該訂單創(chuàng)建一新需求代理,并且系統(tǒng)將自主地修改代理間已有的關(guān)系和/或建立代理間新的關(guān)系,最終結(jié)果是將增加總體系統(tǒng)值。這種多代理系統(tǒng)中的自發(fā)重新協(xié)商的關(guān)系被稱作“自組織”。多代理系統(tǒng)具有在某個(gè)時(shí)刻處于資源和需求都被最佳地匹配的平衡狀態(tài)的系統(tǒng)。因此如果諸如一新需求的事件擾亂了所述系統(tǒng),該系統(tǒng)將通過執(zhí)行自組織來動(dòng)態(tài)分配資源,然后在后來的時(shí)間所述系統(tǒng)將重新處于平衡,盡管此時(shí)可能已經(jīng)修改了所述關(guān)系,并且通過向具有現(xiàn)有關(guān)系的代理提供補(bǔ)償優(yōu)化了所述總體系統(tǒng)值。
資源的動(dòng)態(tài)分配是這樣一種情況,其中,需要分配的資源或?qū)@些資源的需求在分配過程中以不可預(yù)測(cè)的方式發(fā)生變化。動(dòng)態(tài)資源分配的示例包括●生產(chǎn)后勤供應(yīng),其涉及將材料或部件分配給生產(chǎn)設(shè)施,例如裝配機(jī)器人、運(yùn)輸設(shè)備、金屬加工機(jī)器等。后勤應(yīng)用可以具有要求指定部件的時(shí)間和空間(見后文)或可能頻繁改變產(chǎn)品規(guī)格的附加復(fù)雜性。
●電子商務(wù),其涉及當(dāng)顧客或供應(yīng)商不可預(yù)測(cè)地加入或離開分配過程時(shí)將商品或服務(wù)(供應(yīng))分配給顧客請(qǐng)求(需求)。
●人員安排,其涉及在高度動(dòng)態(tài)市場(chǎng)下運(yùn)轉(zhuǎn)的業(yè)務(wù)中將任務(wù)分配給人員。
現(xiàn)在更詳細(xì)地描述前兩個(gè)應(yīng)用。
圖2示出了根據(jù)一個(gè)實(shí)施例的虛擬世界情景的邏輯結(jié)構(gòu),在該實(shí)施例中每個(gè)虛擬世界情景通過雙向鏈表(doubly linked list)來定義。這種邏輯結(jié)構(gòu)由處理器用來執(zhí)行這種情景的各種要素??紤]由列表252和254定義的第一情景250,其中第一組列(panel list)252是情景中所用代理的從1到N個(gè)描述符的列表,而第二組列254是情景中代理之間的從1到M個(gè)關(guān)系的列表。關(guān)系264、268、270還包含所述關(guān)系列表的狀態(tài)。因此圖2示出了第一代理258與第二代理260之間的第一關(guān)系264,并且該關(guān)系是已建立的關(guān)系,而第二關(guān)系268是在多個(gè)其他代理之間的關(guān)系,但是其狀態(tài)還處于預(yù)訂階段,其中正在多個(gè)合適的代理之間進(jìn)行協(xié)商,但是已建立的關(guān)系仍然要達(dá)到。
由于有這些雙向鏈表252、254,所以處理器能夠從每一個(gè)代理258、260、262或關(guān)系264、268、270進(jìn)行處理到該代理或關(guān)系的鄰居。該實(shí)施例的所述邏輯結(jié)構(gòu)使得這些列表能夠相互引得,以便代理可以找到它們的關(guān)系,也可以找到與其建立這些關(guān)系的其他代理。在本實(shí)施例中,為減少用于搜索系統(tǒng)調(diào)度程序(dispatcher)的執(zhí)行隊(duì)列的處理器時(shí)間,還將所述代理和關(guān)系組252、254分為活動(dòng)和被動(dòng)、以及滿意和不滿意的代理組。所述系統(tǒng)調(diào)度程序負(fù)責(zé)產(chǎn)生用于代理操作的時(shí)鐘周期,并且負(fù)責(zé)控制虛擬世界情景的對(duì)象的執(zhí)行。
考慮如圖3所示的飛艇貨物運(yùn)輸系統(tǒng)的特殊后勤應(yīng)用。對(duì)于后勤應(yīng)用,通常需要考慮附加因素,比如空間和時(shí)間,這需要按相應(yīng)尺寸繪制的站點(diǎn)位置和路線的比例圖,還需要考慮應(yīng)該在何時(shí)將資源分配給需求。圖3示出了空運(yùn)貨物虛擬世界的邏輯圖,其中具有用于從飛艇裝載和卸載貨物的站點(diǎn)120、122、124、126、128、130、132的網(wǎng)絡(luò),每個(gè)站點(diǎn)用大寫字母A到F標(biāo)記,并且中心站點(diǎn)用字母O標(biāo)記。而且,這些站點(diǎn)之間的路線由它們相應(yīng)的長度d1、d2以及d3示出,其中,d1=500km,2=250km,d3=150km。兩個(gè)飛艇用于在所述多個(gè)站點(diǎn)之間運(yùn)輸貨物。向每個(gè)飛艇都指配了代理,這里分別用“A1”和“A2”表示。圖4示出了在指配了這里用“O1”表示的代理的新訂單與所述代理A1、A2之間發(fā)生的協(xié)商。
代理A1表示的飛艇具有100噸的貨物容量,運(yùn)輸速度為10km/h,并且其運(yùn)行成本相對(duì)較高,為7mu/km。代理A2表示的飛艇具有10噸的貨物容量,運(yùn)輸速度為15km/h,并且其運(yùn)行成本為3mu/km。
情形1在9月15日,系統(tǒng)收到用15000mu將5噸貨物從站點(diǎn)A運(yùn)輸?shù)秸军c(diǎn)D(距離為500km)的訂單。貨物到達(dá)站點(diǎn)D的期限是9月20日。A1是自由的并位于站點(diǎn)E,而A2正在為已接受的訂單向站點(diǎn)C進(jìn)行運(yùn)輸。為計(jì)劃該操作,創(chuàng)建第一訂單代理O1并將其指配給所述訂單。代理O1將具有所需貨物運(yùn)輸詳情的請(qǐng)求發(fā)送給A1和A2??紤]該請(qǐng)求后,每個(gè)飛艇都將它的要約(offer)發(fā)送給O1。
A1可立即開始運(yùn)輸。為接受所述訂單,該飛艇需要從站點(diǎn)E移動(dòng)到站點(diǎn)A(300km)。成本是(300+500)*7=5600mu,并且需要的運(yùn)行時(shí)間是(300+500)/10=80小時(shí),即,約3.5天。因此,A1可以滿足9月20日的期限要求。
A2必須先完成它當(dāng)前的運(yùn)輸任務(wù),然后移動(dòng)到站點(diǎn)A來執(zhí)行所述新訂單O1的任務(wù)。如果A2此時(shí)位于站點(diǎn)O,為完成訂單A1,它需要先經(jīng)過路線O-C-O-A(750km),然后從A移動(dòng)到D(550km)。執(zhí)行所需時(shí)間為(250+250+250+500)/15=83.3小時(shí),即,也是約3.5天,因此同樣可以滿足所述期限要求。成本為(250+250+250+500)*3=4500mu。
A1和A2兩者都可以處理5噸的貨物,并且兩個(gè)代理都能滿足9月20日的期限要求。因此要考慮的準(zhǔn)則是哪一個(gè)是成本更高的代理。結(jié)果成本為4500mu的A2更便宜,其將獲得更高的利潤15000-4500=11500mu,而A1的利潤只有15000-5600=10400mu。
圖4示出了代理間的協(xié)商,其中線段141表示由O1發(fā)送給A1的詢價(jià)(enquiry)。線段146表示A1發(fā)出的答復(fù)(要約)。線段148表示發(fā)送給A2的詢價(jià)。線段150表示A2發(fā)出的答復(fù)(要約)。線段152表示A2被預(yù)訂,同時(shí)表示代理O1和A2之間建立的關(guān)系。
情形2現(xiàn)在考慮如下情形一小時(shí)后,系統(tǒng)收到一新貨物的訂單,并且為該訂單指配這里用“O2”表示的新訂單代理。即,需要以20000mu的價(jià)格將8噸貨物從點(diǎn)C運(yùn)輸?shù)近c(diǎn)B(150km)。期限是9月17日。只有A2可以完成該訂單,因?yàn)锳1無法滿足所述期限要求——A1需要(500+150)/10=65小時(shí),或者約3天,從而肯定不能滿足9月17日的期限要求(相差2天)。相反,A2只需要(250+150)/15=23.3小時(shí)或者約1天來完成該訂單。然而,A2在以上情形1中已經(jīng)被O1預(yù)訂了。
因此,從代理O2發(fā)給代理A2的詢價(jià)導(dǎo)致了以下協(xié)商●A2向O1發(fā)送一消息,考慮接受O2請(qǐng)求O1允許解除原已建立的關(guān)系,并提供一未確定的補(bǔ)償作為回報(bào)。
●O1嘗試考慮該請(qǐng)求,通過再次聯(lián)系A(chǔ)1和A2并接收來自A1的與情形1中相同的要約,該要約滿足其期限要求,但是作為更加昂貴的選擇(10400對(duì)11500mu)而在先前被否決了。
●O1要求A2補(bǔ)償差價(jià),即,1100mu。
●O2代理考慮由A2傳來的補(bǔ)償請(qǐng)求。如果O2與A2建立關(guān)系,O2的利潤將為20000-(250+150)*3=18950mu,因此,考慮到A2將要從所述交易中獲得的利潤為18950mu,要付給O1的1100mu的補(bǔ)償是可以接受的。
圖5示出了使系統(tǒng)的自組織達(dá)到對(duì)于該系統(tǒng)來說是改進(jìn)的總體結(jié)果的所述協(xié)商。線段154表示O2發(fā)送給A2的詢價(jià)。線段156表示A2發(fā)送給O1的重新預(yù)訂的提議。線段158表示O1發(fā)送給A1的詢價(jià)。線段160表示A1發(fā)送給O1的肯定回復(fù)。線段162表示O1發(fā)送給A2的允許重新預(yù)訂的許可。線段164表示A2發(fā)送給O2的O1要約的補(bǔ)償。
總之,A2被重新預(yù)訂,并且現(xiàn)在A1與O1建立了關(guān)系,使得A2得以與O2建立關(guān)系,從而提高了系統(tǒng)的總值。
現(xiàn)在描述涉及電子商務(wù)(E-commerce)的第二應(yīng)用。
考慮這樣的例子,其中,利用在德國和巴西的具有自己的倉庫和用于運(yùn)輸汽車的運(yùn)輸裝置的國際銷售商網(wǎng)絡(luò),通過因特網(wǎng)入口(Internetportal)來銷售汽車。為每一訂單、銷售商、倉庫、運(yùn)輸單元、運(yùn)輸時(shí)段、運(yùn)輸負(fù)載以及汽車都指配了一代理。這些代理不但能夠如在現(xiàn)有電子商務(wù)系統(tǒng)中那樣銷售汽車,而且還能夠在動(dòng)態(tài)變化的環(huán)境中進(jìn)行自組織,從而在仍然滿足所有客戶要求的同時(shí),增加總體系統(tǒng)值。將給所述多個(gè)代理賦予足夠的智能,使得它們能夠通過執(zhí)行取消已建立的關(guān)系(即,合約),或經(jīng)過買方和賣方的允許修改這些關(guān)系,來自主地動(dòng)作,這將在以后面更加詳細(xì)地介紹。
圖6示出了一電子商務(wù)應(yīng)用。第一訂單212來自居住在巴西的第一客戶,該訂單以50000mu的價(jià)格定購一紅色Mercedes敞篷車202。所述汽車已經(jīng)付款,并且現(xiàn)在正在由巴西銷售商214通過卡車交付給客戶,距所述客戶的住宅300米。所述第一客戶已經(jīng)為此等待了一個(gè)月。
在德國的第二客戶迫切地想得到完全相同的汽車,并發(fā)出了第二訂單210。德國的銷售商204、206、208在他們的倉庫204、206、208中不能找到與所述第二客戶的要求匹配的該汽車的任何款式。此時(shí)多代理系統(tǒng)將試圖為第一客戶生成一使其很難拒絕的另選的要約,而考慮將所述紅色Mercedes 202交付給第二客戶。
為實(shí)現(xiàn)此目的,第二訂單代理210向汽車代理202(即,紅色Mercedes)發(fā)出一消息,同時(shí)附帶一報(bào)價(jià),其中未指定補(bǔ)償,以促使汽車代理202改變客戶。而汽車代理202接著又向第一訂單代理212發(fā)送一消息,請(qǐng)求允許其改變客戶。
作為回應(yīng),第一訂單代理212通過考慮它自己的和汽車所有者的利益來考慮該情況。首先,第一訂單代理212求助于巴西銷售商214,以查明可能多快交付一具有相同特征的新車。假定可能在一個(gè)月內(nèi)交付新車,這將使第一客戶的等待時(shí)間加倍。按照一簡(jiǎn)單的比例補(bǔ)償?shù)膱?chǎng)景策略(見后),訂單1代理要求第二訂單代理210給予50%的折扣,作為使汽車交付期加倍的補(bǔ)償。為獲得此交易的許可,第一訂單代理212聯(lián)系第一客戶,例如,通過撥打他的WAP電話,并且作為交換提供50%的折扣以使其同意再等一個(gè)月。如果第一客戶同意再等一個(gè)月,則第一訂單代理212取消所述最初的紅色汽車202的預(yù)訂,并預(yù)訂一新車220。而第二訂單代理210接著預(yù)訂所述汽車202,此時(shí)的價(jià)格等于其初始價(jià)格加上補(bǔ)償量50000+25000=75000mu。
現(xiàn)在,第二訂單代理210需要為將所述汽車在兩周內(nèi)運(yùn)回德國來與一班機(jī)進(jìn)行協(xié)商。假定所述班機(jī)同意了,甚至如果航班都全部預(yù)訂了,也可以同表示大型貨物裝載的其他代理協(xié)商,以使它們放棄其運(yùn)輸貨位,作為回報(bào),對(duì)其進(jìn)行補(bǔ)償。因此假定對(duì)空運(yùn)量的補(bǔ)償是4000mu,現(xiàn)在所述汽車的總成本是50000+25000+4000=79000mu。
將該價(jià)格報(bào)給在德國的第二客戶,如果需要,第二客戶還將收到協(xié)商報(bào)告和看到?jīng)Q策樹(將其訂單的緊迫性考慮在內(nèi))。然后第二客戶可以接受或拒絕該要約。如果所述客戶接受,所述運(yùn)輸該汽車到第一客戶住所的卡車司機(jī)改變路線到機(jī)場(chǎng),并將所述汽車裝載到德國的指定航班上。如果所述客戶拒絕,則取消所有達(dá)成的關(guān)系,并恢復(fù)到原先建立的關(guān)系,即,按原計(jì)劃將所述汽車運(yùn)送給第一客戶的住所。
如果補(bǔ)償被接受并且兩個(gè)訂單都被成功執(zhí)行,所述代理通過滿足交易中的每個(gè)參與者(即,客戶1,客戶2,班機(jī),等)的需求獲得了附加的利潤。因此通過自組織的過程,本發(fā)明能夠?qū)崿F(xiàn)市場(chǎng)參與者之間關(guān)系的動(dòng)態(tài)變化。應(yīng)該理解的是,為獲得電子商務(wù)應(yīng)用的全部收益,理想情況下應(yīng)該沒有固定的價(jià)格和固定的送貨條款,相反,一切都應(yīng)取決于客戶的需求。
為實(shí)現(xiàn)以上示例和討論的執(zhí)行自組織的可能性,描述一具體的代理結(jié)構(gòu)。圖7示出了該基本代理結(jié)構(gòu),其具有兩個(gè)主要部分代理描述4符和代理體6。代理描述符4包含代理2或它與其他代理的關(guān)系的一組屬性8、10、12。代理的屬性確定了代理的性質(zhì)。代理屬性能夠引得不同的場(chǎng)景14。每個(gè)場(chǎng)景都可以被實(shí)現(xiàn)為駐留在代理的命令存儲(chǔ)器14部分中的預(yù)編程過程來執(zhí)行(見圖8)。代理可以選擇它覺得能夠產(chǎn)生最佳結(jié)果的任何場(chǎng)景。所述場(chǎng)景提供關(guān)于建立所希望的與另一代理的關(guān)系的方式的信息,或者可以為匹配計(jì)算出用于檢查屬性的合適度的值。
每個(gè)屬性10也能引得匹配用的一組特征16。例如,電子商務(wù)應(yīng)用中的汽車代理202具有“顏色”屬性,并且向該屬性賦予了“紅色”特征。代理2使其某些部分可以被讀取,例如,可將代理描述符4設(shè)置成“開放的”。在圖7所示的示例中,屬性8被設(shè)置成開放的,使得只要其他代理具有所謂的“可視傳感器”,就能夠讀取該屬性。代理描述符4的其他部分,例如,屬性10和12,可以不是開放的,并且可以根據(jù)請(qǐng)求只由代理打開。
可視傳感器是代理用來讀取代理描述符4的開放數(shù)據(jù)域的機(jī)構(gòu)。通常,所述傳感機(jī)構(gòu)包括嵌入所述代理體的軟件過程和數(shù)據(jù)結(jié)構(gòu),或者另選地,可以根據(jù)來自保留在系統(tǒng)中的其他地方處的基類的請(qǐng)求,將所述視覺傳感器機(jī)構(gòu)傳遞給一代理。所述視覺傳感器機(jī)構(gòu)還可以具有過濾器,其用于施加視覺限制,以使只可讀取代理描述符的某些開放部分。
圖8示出了代理體6的組成部分。所述代理體包括多個(gè)傳感器20、多個(gè)執(zhí)行器22、情景存儲(chǔ)器24、決策機(jī)器26、本體存儲(chǔ)器28、事實(shí)存儲(chǔ)器30和命令存儲(chǔ)器14。傳感器元件20的示例包括定時(shí)器、視覺傳感器、郵箱機(jī)構(gòu)等。其中有些與其他代理進(jìn)行交互,有些與真實(shí)世界進(jìn)行交互。執(zhí)行器22可以包括WAP電話、電子郵件以及訪問代理的數(shù)據(jù)庫的裝置等。從而,這些使得可以建立要在真實(shí)世界中實(shí)現(xiàn)的關(guān)系。本體存儲(chǔ)器28是代理擁有的知識(shí)庫。盡管后面將更加詳細(xì)地討論所述本體,但是它可以被粗略地看作是一知識(shí)庫,所述知識(shí)庫可以分為兩類“通用”知識(shí)庫或“專業(yè)”知識(shí)庫。盡管大部分代理利用通用知識(shí)庫就可以操作得很好,但是已經(jīng)發(fā)現(xiàn),在某些應(yīng)用中,例如在汽車生產(chǎn)應(yīng)用中,使用更加專業(yè)的知識(shí)庫可以更加有效??梢允褂脗鞲衅?0來建立情景存儲(chǔ)器24,使得所述代理對(duì)周圍的虛擬世界有所了解。決策機(jī)器26是所述代理體的核心,并與大部分其他單元相交互。它利用自己的知識(shí),以基于它接收到的輸入來制定決策,并實(shí)現(xiàn)將要輸出的所要求的動(dòng)作過程。在制定決策時(shí),決策機(jī)器26還可以為一特殊的情形選擇一優(yōu)選的動(dòng)作場(chǎng)景14。對(duì)于某些應(yīng)用,可能需要情景存儲(chǔ)器24,但是對(duì)于大部分簡(jiǎn)單的應(yīng)用(例如電子郵件應(yīng)用)代理實(shí)際上只需要所述網(wǎng)絡(luò)的通用本體存儲(chǔ)器28。
每個(gè)代理的操作基于一時(shí)鐘周期,例如,在本實(shí)施例中是300μs,來。該時(shí)鐘周期由系統(tǒng)調(diào)度程序(未示出)分配給所有代理。所述系統(tǒng)調(diào)度程序可以被看成是一個(gè)唯一且獨(dú)立的軟件對(duì)象,它在處理器中執(zhí)行,以組織所述多個(gè)代理的活動(dòng)。所述系統(tǒng)調(diào)度程序能夠在所述虛擬世界中向其他代理提供某些信息。例如,如果一代理想要擁有一虛擬視覺傳感器,它可以向所述系統(tǒng)調(diào)度程序發(fā)出這樣的請(qǐng)求,然后所述系統(tǒng)調(diào)度程序?qū)⑾嚓P(guān)的軟件發(fā)送給所述發(fā)出請(qǐng)求的代理。
圖9示出了描述代理操作周期的步驟的流程圖。步驟S40表示當(dāng)代理接收到所述系統(tǒng)調(diào)度程序發(fā)出的時(shí)鐘邊沿時(shí)開始所述代理操作周期。情景中的所有活動(dòng)代理都通過在每個(gè)時(shí)鐘周期并行地工作來同步地進(jìn)行操作。在步驟S44中,每個(gè)代理判斷在情景中是否發(fā)生了任何重要的事件。該判斷受輸入傳感器的影響,其中,圖9中示出了一具有郵箱輸入傳感器S42的簡(jiǎn)單代理。從步驟S60,每個(gè)代理執(zhí)行關(guān)于所述時(shí)鐘周期是否已經(jīng)用完的檢查,并在S42處接收來自所述郵箱的任何輸入。如果情景中有一新事件,那么在步驟S46中,延遲所述當(dāng)前場(chǎng)景,并且在步驟S48中,基于代理本體28選擇一新場(chǎng)景。即,所述代理可能基于所述本體決定執(zhí)行一不同的場(chǎng)景,其更適合于處理所述新事件。如果在步驟S44處的情景中沒有新事件,那么所述代理繼續(xù)進(jìn)行到步驟S54,在此該代理選擇所述當(dāng)前場(chǎng)景的下一命令。在步驟S50結(jié)束時(shí),一旦已經(jīng)執(zhí)行完所述新場(chǎng)景,所述代理也轉(zhuǎn)移到步驟S54。在步驟S56中,執(zhí)行所述當(dāng)前場(chǎng)景的下一命令,并將其輸出給一電子郵件執(zhí)行器機(jī)構(gòu)22。在步驟S60中,所述代理檢查所述時(shí)鐘周期是否已用完。如果沒有用完,那么算法回到步驟S44,在此所述代理檢查是否有任何其他重要的事件進(jìn)入了所述情景。如果所述時(shí)鐘周期已經(jīng)用完,步驟S62規(guī)定已到達(dá)所述代理的操作周期的終點(diǎn)。
如上所述,圖9中的代理的實(shí)施例具有一作為唯一輸入傳感器的郵箱,并且具有作為唯一的執(zhí)行器的電子郵件。對(duì)于這種簡(jiǎn)單的代理,不需要具有情景存儲(chǔ)器24,相反,通用代理本體28可能就足夠了。然而,應(yīng)該明白,對(duì)于更加復(fù)雜的應(yīng)用,例如前面描述的后勤示例,除了所述本體存儲(chǔ)器28,還需要一情景存儲(chǔ)器24。如果沒有情景存儲(chǔ)器,這種代理將不知道在所述虛擬世界中還存在多少其他代理以及這些代理的種類。
虛擬決策機(jī)器26是所述代理體的核心單元,并且和其他單元直接或間接地進(jìn)行交互。決策機(jī)器26允許每個(gè)代理通過比較它們的描述符來從一組這些場(chǎng)景中選擇一特定的場(chǎng)景。場(chǎng)景描述符是用于提供所述全部場(chǎng)景概況的縮短的軟件代碼段。決策機(jī)器26利用所述本體和/或情景存儲(chǔ)器考慮系統(tǒng)當(dāng)前的情況,其中將最終選擇一最有效地滿足所要求的準(zhǔn)則的特定場(chǎng)景。然后激活所選擇的場(chǎng)景,并作為多條命令實(shí)時(shí)地執(zhí)行該場(chǎng)景。因此作為示例,一個(gè)場(chǎng)景可能是一匹配算法,另一場(chǎng)景可能是提供補(bǔ)償?shù)取?br>
所述本體存儲(chǔ)器28是一知識(shí)庫,其中按以下項(xiàng)目來存儲(chǔ)知識(shí)1、對(duì)象2、關(guān)系3、屬性4、場(chǎng)景,以及5、特征元本體是對(duì)所有知識(shí)庫的描述,并且描述本體的總體結(jié)構(gòu)。圖10示出了代理本體的基本單元是如何互連的。更具體地說,元本體是一語義網(wǎng)絡(luò),其具有作為節(jié)點(diǎn)在圖10中以矩形框表示的基本單元和用箭頭表示的這些基本單元之間的各種關(guān)系,以及用于解釋它們的真實(shí)場(chǎng)景14。這些單元和關(guān)系包含用于運(yùn)行多代理系統(tǒng)所需要的全部知識(shí)。利用元本體,可以將任何領(lǐng)域的知識(shí)構(gòu)造成元素和場(chǎng)景的網(wǎng)絡(luò)。例如,在前面描述的后勤和電子商務(wù)應(yīng)用中,本體包括定購產(chǎn)品的規(guī)格、產(chǎn)品類型、生產(chǎn)產(chǎn)品需要的時(shí)間、必要的組件、將在倉庫中存儲(chǔ)組件的條件和成本等。
所述本體存儲(chǔ)器的某些部分包含對(duì)所有代理公用的知識(shí)。例如,包含組件的分類、包括生產(chǎn)時(shí)間和成本的本體是公用知識(shí)。該公用知識(shí)可以駐留在對(duì)系統(tǒng)公用的單元(如系統(tǒng)調(diào)度程序)內(nèi),或者另選地,該知識(shí)可以放在每個(gè)代理的本體存儲(chǔ)器28中。由于每個(gè)代理包含一私有的本體存儲(chǔ)器,所以能夠提供對(duì)該存儲(chǔ)器的獨(dú)立訪問,從而避免與嘗試訪問該存儲(chǔ)器的其他代理之間的沖突。
作為示例,考慮電子商務(wù)應(yīng)用,其中,在圖11中示出了汽車代理的通用本體。示出的汽車代理70具有三個(gè)屬性款式72、價(jià)格76以及顏色74。汽車70還包括關(guān)系78和80。關(guān)系78包括汽車70的以下屬性車體82、發(fā)動(dòng)機(jī)84以及車架86。所述汽車還具有關(guān)系80,該關(guān)系80由款式范圍組成,其可以是以下屬性之一豪華型88、標(biāo)準(zhǔn)型90以及運(yùn)動(dòng)型92。示出的價(jià)格屬性76包括一組折扣計(jì)算動(dòng)作場(chǎng)景14。這樣代理能夠依據(jù)要求的折扣計(jì)算來選擇要求的場(chǎng)景。價(jià)格屬性76包括一價(jià)格特征94,其例如給出潛在的購買者可能接受的價(jià)格范圍,例如,從10000美元到25000美元。
應(yīng)該明白,對(duì)于圖11中所示的本體,代理可以選擇各種不同的折扣場(chǎng)景14。例如,在所述電子商務(wù)應(yīng)用中,選擇了一比例折扣策略,其中,提供了汽車價(jià)格的一半的折扣作為使汽車交付時(shí)間加倍的補(bǔ)償。然而,還可以提供以下折扣場(chǎng)景供選擇,例如根據(jù)以往購買汽車的數(shù)量的“老顧客”折扣;根據(jù)一份訂單所購買的汽車的數(shù)量的“批發(fā)”折扣;“延遲交付的購買”折扣,其中客戶提前付款,但是可以接受交付時(shí)間的延遲;或者“競(jìng)爭(zhēng)對(duì)手價(jià)格”折扣,其中所述汽車價(jià)格與競(jìng)爭(zhēng)對(duì)手的價(jià)格相當(dāng)或較低。
動(dòng)作場(chǎng)景14還可以包括存儲(chǔ)于相應(yīng)場(chǎng)景中的決策規(guī)則。例如,場(chǎng)景可以包含基于盈利能力評(píng)估分配資源的規(guī)則或由用戶定義評(píng)估準(zhǔn)則的規(guī)則。
虛擬決策機(jī)器26是所述代理結(jié)構(gòu)的核心單元(見圖7)。機(jī)器26在一優(yōu)選實(shí)施例中被實(shí)現(xiàn)為一組過程和數(shù)據(jù)結(jié)構(gòu)。寫入所述過程以處理所述基本的數(shù)據(jù)結(jié)構(gòu)和代理要求的動(dòng)作。例如,在代理間組織信息交換,收集關(guān)于供應(yīng)和需求動(dòng)態(tài)的信息,發(fā)現(xiàn)代理間可能的連接,選擇最佳連接,執(zhí)行決策和場(chǎng)景,或者如果情況變化了,重新考慮所述決策和場(chǎng)景。
如前所述,每個(gè)代理是通過它的屬性列表和屬性的特征來描述的。每個(gè)代理可以包括具有多個(gè)特征的多個(gè)屬性,其中每個(gè)特征可以具有值。另選地,屬性也可以具有值。因此在圖11的示例中,汽車代理70具有價(jià)格屬性76,所述價(jià)格屬性76具有一特征——從10000美元到25000美元的價(jià)格范圍94,其中對(duì)于一特定的汽車,平均汽車價(jià)格可能為15000美元。因此代理可以具有如下數(shù)據(jù)結(jié)構(gòu)<屬性1=特征1>,<屬性2=值1>,……等。為了解代理屬性、特征和值,代理可以這樣交換信息,例如,一個(gè)代理詢問另一代理其是否具有屬性1或者另一代理是否具有賦給屬性1的特征1等。
某些屬性可以被設(shè)置成“開放的”,以使這些屬性對(duì)其他代理來說是可見的。這可以減少需要的請(qǐng)求消息數(shù)和場(chǎng)景邏輯的復(fù)雜度。決策是通過“看見”或“推斷”代理的屬性和特征并且根據(jù)代理本體,基于從消息收集到的信息來執(zhí)行的。代理本體通常包含整個(gè)虛擬世界模型的知識(shí)和在不同的情況下場(chǎng)景支配代理行為的知識(shí)。
用于決策的典型數(shù)據(jù)結(jié)構(gòu)是一帶有關(guān)于接收到的提議的信息的供應(yīng)表。圖12示出了在后勤應(yīng)用中用于需求代理的這種表的一個(gè)示例。在該簡(jiǎn)單的示例中,僅示出了三個(gè)屬性產(chǎn)品類別、成本以及交付時(shí)間。
圖12中的表的結(jié)構(gòu)將隨已為代理定義的屬性的數(shù)量而變化。所述虛擬決策機(jī)器可以執(zhí)行以下基本表操作創(chuàng)建/刪除表,定義或清除域,根據(jù)域?qū)?yīng)進(jìn)行排序,以及利用模式查找串。
最重要的步驟是選擇最佳的供應(yīng)。該過程可能非常復(fù)雜。最簡(jiǎn)單的情況是,可能在需求與供應(yīng)之間存在完全匹配,因此在本實(shí)施例中,是指資源代理包含需求代理所請(qǐng)求的所有屬性,即,產(chǎn)品等級(jí)、價(jià)格以及交付時(shí)間都匹配。更加復(fù)雜的情形是,當(dāng)通過一種議定的量度來衡量時(shí),需求和供應(yīng)相互接近,即,部分匹配。部分(不滿意的)匹配可以是一個(gè)屬性匹配,例如,如果資源代理具有相同的產(chǎn)品等級(jí),但是成本和交付時(shí)間不能令人滿意。
在一優(yōu)選的實(shí)施例中,為實(shí)現(xiàn)需求與資源屬性之間的匹配,需求代理發(fā)送一請(qǐng)求,指示為匹配代理屬性和這些屬性的值所需要的準(zhǔn)則。例如,所述請(qǐng)求消息可以是“有屬性A1的值為Z1、重要性為B1和屬性A2的值為Z2、重要性為B2的A等資源嗎?”等??梢詫⒃撛儐柣蛘甙l(fā)給一組代理,或者廣播給所有代理。然后資源代理在本體存儲(chǔ)器中檢查其對(duì)應(yīng)的資源屬性及這些屬性的特征,并做出答復(fù)。即使如果它們與所述請(qǐng)求中指示的條件不匹配,還是可以供應(yīng)資源作為部分匹配的可能候選。
有兩種執(zhí)行基于優(yōu)先級(jí)的需求—資源屬性匹配的方式1、屬性的順序匹配,從最高優(yōu)先級(jí)屬性開始。第一需求代理發(fā)送一消息給資源代理“我是等級(jí)N的需求代理。如果存在具有名字為S1的任何等級(jí)N資源代理,請(qǐng)說明你的值”。收到它們的回復(fù)后,所述需求代理創(chuàng)建“屬性—值”數(shù)據(jù)結(jié)構(gòu)表。所述代理從該表中選擇一個(gè)或更多個(gè)合適的供應(yīng),并向這些供應(yīng)的代理發(fā)送問題“你具有屬性S2嗎?如果有,那么其值是多少?”這種執(zhí)行匹配的方式使得所述代理可以從較重要的屬性開始執(zhí)行到較不重要的;應(yīng)用部分匹配策略(即,可能不考慮較不重要的屬性);減少比較操作的次數(shù);保持其關(guān)閉的屬性值的隱藏狀態(tài),并根據(jù)它的協(xié)商策略或市場(chǎng)情況(例如競(jìng)爭(zhēng)者的數(shù)量是否變化了)來改變其可訪問性。
2、通過中介并行匹配。需求代理向中介公開其打開的和關(guān)閉的屬性,所述中介計(jì)算出多個(gè)指數(shù),并將該多個(gè)指數(shù)返回給代理。代理不知道其他代理的屬性的確切值,但是知道由指數(shù)表示的它們的相似或相差的程度。
圖13示出了代理間協(xié)商步驟的實(shí)施例。在步驟S300中,運(yùn)行一場(chǎng)景以建立關(guān)系,然后,在步驟S302中,一需求代理從它的本體存儲(chǔ)器28中讀出合適的資源代理的列表。然后在步驟S306中,所述資源代理將請(qǐng)求消息S308發(fā)送給所有合適的資源代理。如果在虛擬世界情景S304中有任何變化,也可以執(zhí)行步驟S306。在步驟S310中,所述需求代理等待來自資源代理S312的答復(fù)。然后,在步驟S314中,編制出如圖12所示的決策表。在步驟S316中,可以選擇最佳的供應(yīng),在步驟S318中,發(fā)送一請(qǐng)求消息以與所選的資源代理S320建立關(guān)系。在步驟S322中,所述需求代理等待所述資源代理S324的答復(fù)消息。如果在S326中答復(fù)是否定的,那么所述協(xié)商過程循環(huán)回到步驟S318,在步驟S318中,所述需求代理申請(qǐng)下一個(gè)最佳資源代理。如果在S328中答復(fù)是肯定的,那么就說要建立一關(guān)系。最后在步驟S300中,一旦建立了關(guān)系,所述需求代理就轉(zhuǎn)入被動(dòng)模式,直到在S304中情景發(fā)生變化。
圖14示出了決策機(jī)器所用數(shù)據(jù)結(jié)構(gòu)的另一實(shí)施例。圖14向所述代理提供了當(dāng)前市場(chǎng)的指示,其中,對(duì)于每個(gè)產(chǎn)品,基于代理之間的協(xié)商歷史與對(duì)于所述產(chǎn)品的當(dāng)前需求來計(jì)算當(dāng)前平均價(jià)格。因而所述代理能夠確定所述產(chǎn)品的平均價(jià)格在當(dāng)前是升高了還是降低了。例如,如果市場(chǎng)中的價(jià)格降低了,那么對(duì)于資源代理來說可能最好等待至市場(chǎng)恢復(fù)。
應(yīng)該明白,可以利用如圖15所示的基于客戶機(jī)—服務(wù)器的實(shí)施例來實(shí)現(xiàn)根據(jù)本發(fā)明的多代理系統(tǒng)。更具體來說,由一服務(wù)器來執(zhí)行代理的處理和執(zhí)行,而客戶機(jī)終端作為用戶界面來操作,以使位于全世界的用戶可以向所述系統(tǒng)輸入信息或者從所述系統(tǒng)輸出信息。因此人類用戶可以輸入信息,或者從所述系統(tǒng)接收信息,在此,例如,一汽車推銷員憑借他的經(jīng)驗(yàn)對(duì)于一具有某些特性的汽車的平均市場(chǎng)價(jià)格將有所了解。從而,該汽車推銷員能夠?qū)⑺鲂畔⑤斎氲剿鱿到y(tǒng)中。所述客戶機(jī)終端將所輸入的信息發(fā)給所述服務(wù)器,以進(jìn)行處理,使得所述系統(tǒng)中的每個(gè)相關(guān)代理的本體都通過該知識(shí)被更新,該知識(shí)可以用于進(jìn)行匹配。
權(quán)利要求
1.一種適于在虛擬環(huán)境中進(jìn)行協(xié)商的代理,該代理包括代理描述符,被實(shí)現(xiàn)為一可執(zhí)行的程序,并且包括用于確定所述代理的協(xié)商特征的一組屬性;以及代理體,被實(shí)現(xiàn)為一可執(zhí)行的程序,并且包括至少一個(gè)傳感器,用于從所述虛擬環(huán)境接收信息;至少一個(gè)執(zhí)行器,用于與所述環(huán)境進(jìn)行交互;以及決策引擎,其可在一預(yù)定時(shí)間段內(nèi)在活動(dòng)狀態(tài)下進(jìn)行操作,以基于從所述至少一個(gè)傳感器接收到的信息來執(zhí)行決策過程,其中,所述決策引擎可以進(jìn)行操作,以根據(jù)所述協(xié)商特征來與另一個(gè)代理建立關(guān)系,并確定表示所建立關(guān)系的質(zhì)量的值。
2.如權(quán)利要求1所述的代理,其中所述屬性中的至少一些被與用于定義所述代理的性質(zhì)的一組特征相關(guān)聯(lián)。
3.如權(quán)利要求1或2所述的代理,其中至少一些所述屬性各引得一組場(chǎng)景,每個(gè)場(chǎng)景包括一支配所述代理的執(zhí)行行為的命令序列。
4.如權(quán)利要求3所述的代理,其中所述決策引擎可以進(jìn)行操作,以基于從所述至少一個(gè)傳感器接收到的信息,并根據(jù)所述代理的協(xié)商特性和所述代理已建立的任何現(xiàn)有已建立關(guān)系的質(zhì)量,從所述一組場(chǎng)景中選出被認(rèn)為最合適的場(chǎng)景。
5.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述虛擬環(huán)境表示一包括需求和資源的真實(shí)環(huán)境,并且其中所述代理是被分配給一真實(shí)需求的需求代理。
6.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述虛擬環(huán)境表示一包括需求和資源的真實(shí)環(huán)境,并且其中所述代理是被分配給一真實(shí)資源的資源代理。
7.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述代理體包括用于保存表示所述虛擬環(huán)境的當(dāng)前狀態(tài)的數(shù)據(jù)的情景存儲(chǔ)器。
8.如權(quán)利要求3或4所述的代理,其中,所述場(chǎng)景之一被配置成通過提供將提高所述值的補(bǔ)償,使所述決策引擎干擾一對(duì)代理之間已建立的關(guān)系。
9.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述代理體包括用于保存關(guān)于所述代理的性質(zhì)的知識(shí)的本體存儲(chǔ)器。
10.如權(quán)利要求3所述的代理,其中,所述代理體包括用于保存所述場(chǎng)景的命令存儲(chǔ)器。
11.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述至少一個(gè)傳感器包括用于讀取可訪問的數(shù)據(jù)庫域的裝置。
12.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述至少一個(gè)傳感器包括用于接收消息的郵箱機(jī)構(gòu)。
13.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述至少一個(gè)執(zhí)行器包括用于訪問數(shù)據(jù)庫以更新其中的數(shù)據(jù)域的裝置。
14.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述執(zhí)行器包括用于發(fā)送消息的裝置。
15.如前面任何一項(xiàng)權(quán)利要求所述的代理,其中,所述代理體包括用于控制所述預(yù)定時(shí)間段的定時(shí)器。
16.一種通過創(chuàng)建包括多個(gè)代理的虛擬環(huán)境來對(duì)真實(shí)環(huán)境進(jìn)行仿真的方法,其中每個(gè)所述代理都是如權(quán)利要求1到15中的任何一項(xiàng)所述的代理,所述方法包括對(duì)于所述多個(gè)代理中的至少一些,在一預(yù)定時(shí)間段內(nèi),使所述代理處于活動(dòng)狀態(tài);對(duì)于每個(gè)活動(dòng)的代理,根據(jù)所述代理的協(xié)商特性,基于從所述至少一個(gè)傳感器接收到的信息,實(shí)現(xiàn)決策過程,以確定是否可與另一代理建立關(guān)系;以及,在所述預(yù)定時(shí)間段之后,使所述代理處于被動(dòng)狀態(tài),其中,所述多個(gè)代理具有自由的或成對(duì)的狀態(tài),并且其中成對(duì)的代理保存用于確定它們已建立的關(guān)系的質(zhì)量的值。
17.一種操作一計(jì)算機(jī)以實(shí)現(xiàn)適于在虛擬環(huán)境中進(jìn)行協(xié)商的代理的方法,該方法包括執(zhí)行用于定義代理描述符的第一程序,所述代理描述符包括用于確定所述代理的協(xié)商能力的一組屬性;通過提供至少一個(gè)用于從所述虛擬環(huán)境接收信息的傳感器和至少一個(gè)用于與所述環(huán)境進(jìn)行交互的執(zhí)行器來建立代理體;以及執(zhí)行第二程序,以實(shí)現(xiàn)與所述至少一個(gè)傳感器相關(guān)聯(lián)的決策引擎,所述決策引擎可在一預(yù)定時(shí)間段內(nèi)在活動(dòng)狀態(tài)下進(jìn)行操作,以根據(jù)所述代理的協(xié)商特性,基于從所述至少一個(gè)傳感器接收到的信息,來執(zhí)行決策過程,其中,所述決策引擎可以進(jìn)行操作,以根據(jù)所述協(xié)商特性來與另一代理建立關(guān)系,并確定表示所建立關(guān)系的質(zhì)量的值。
18.如權(quán)利要求17所述的方法,其包括如下步驟將至少一些所述屬性引得的一組場(chǎng)景載入一命令存儲(chǔ)器,每個(gè)場(chǎng)景包括一組不同的命令。
19.如權(quán)利要求18所述的方法,其中所述決策過程從一組中選擇最合適的場(chǎng)景。
20.如權(quán)利要求17所述的方法,其包括如下步驟在一情景存儲(chǔ)器中編輯所述虛擬環(huán)境的當(dāng)前情景,以供所述代理訪問。
21.如權(quán)利要求20所述的方法,其中,當(dāng)一新事件到達(dá)時(shí),改變當(dāng)前情景,并且如果所述事件是重要的,那么所述決策過程選擇不同的場(chǎng)景。
22.如權(quán)利要求21所述的方法,其中,所述新事件是一新代理。
23.如權(quán)利要求21所述的方法,其中,所述新事件是來自所述情景中的現(xiàn)有代理的消息。
24.如權(quán)利要求21所述的方法,其中,如果一新事件進(jìn)入所述情景,但是該事件不重要,那么所述決策過程繼續(xù)執(zhí)行當(dāng)前的場(chǎng)景。
25.一種操作一計(jì)算機(jī)系統(tǒng)以管理需求和資源的方法,該方法包括生成一表示資源和需求的當(dāng)前狀態(tài)的情景;把多個(gè)代理實(shí)例化為可執(zhí)行程序,該多個(gè)代理包括表示資源的第一組資源代理和表示需求的第二組需求代理,其中,每個(gè)代理都可操作,以與另一代理交換消息,并且包括一決策引擎,該決策引擎用于基于來自所述情景的信息和來自所述另一代理的消息來執(zhí)行決策過程,以實(shí)現(xiàn)與所述另一代理的關(guān)系,并將一關(guān)系值與所述關(guān)系關(guān)聯(lián)起來;以及,將所述關(guān)系值與用于該關(guān)系的一基準(zhǔn)值進(jìn)行比較,以確定所述關(guān)系是否滿意。
26.一種計(jì)算機(jī)系統(tǒng),被配置為表示真實(shí)世界的虛擬世界,該系統(tǒng)包括第一組需求代理,被實(shí)現(xiàn)為可執(zhí)行的程序,每個(gè)需求代理包括表示真實(shí)世界中的需求的一組屬性;第二組資源代理,被實(shí)現(xiàn)為可執(zhí)行的程序,每個(gè)資源代理包括表示真實(shí)世界中的資源的一組屬性;其中,所述需求代理和所述資源代理可以進(jìn)行操作,以通過交換消息進(jìn)行協(xié)商,所述消息包含與每個(gè)代理的需求和資源對(duì)應(yīng)的所述屬性組,以使一決策引擎可以基于預(yù)定義的準(zhǔn)則來建立關(guān)系;并且其中,當(dāng)一新的需求或資源進(jìn)入所述系統(tǒng)時(shí),表示該新的需求或資源的代理能夠通過提供補(bǔ)償以提高表示一對(duì)代理之間已建立關(guān)系的質(zhì)量的值,來干擾所述已建立的關(guān)系。
27.如前面任何一項(xiàng)權(quán)利要求所述的代理,具有用于存儲(chǔ)關(guān)于多代理系統(tǒng)中的多個(gè)代理的特性和該多個(gè)代理之間的關(guān)系的知識(shí)的本體存儲(chǔ)器,其中代理能夠查詢其本體存儲(chǔ)器,以找到協(xié)商所針對(duì)的合適代理的列表。
28.如權(quán)利要求27所述的代理,其中所述本體存儲(chǔ)器包含在多代理系統(tǒng)中所有代理都可訪問的公共知識(shí),以及只有所述代理才可訪問的私有知識(shí)。
29.如權(quán)利要求27所述的代理,其中所述代理的特性包括屬性、特征和值。
30.如權(quán)利要求27到29所述的代理,其中所述本體存儲(chǔ)器用于專用領(lǐng)域,以使可以將特定應(yīng)用的知識(shí)專門賦予一代理。
31.如權(quán)利要求30所述的代理,其中所述應(yīng)用是后勤應(yīng)用。
32.一種計(jì)算機(jī)系統(tǒng),包括用于執(zhí)行多個(gè)程序的處理器,每個(gè)程序表示一用于在虛擬環(huán)境中進(jìn)行協(xié)商的代理;和用于存儲(chǔ)多個(gè)代理定義器的存儲(chǔ)器,每個(gè)代理定義器具有一包括以下部分的本體一組屬性,用于定義所述代理的性質(zhì);一組特征,用于定義由所述代理用于協(xié)商的特性;一組場(chǎng)景,可由所述代理執(zhí)行以實(shí)現(xiàn)不同的決策過程;以及,一關(guān)系質(zhì)量庫,用于保存定義由所述代理建立的關(guān)系的質(zhì)量的值。
全文摘要
描述了一種多代理系統(tǒng),其使用軟件代理來表示所選真實(shí)世界環(huán)境中的對(duì)象。每個(gè)代理具有包括某些特性的結(jié)構(gòu),其中,如果其它代理具有適于發(fā)出請(qǐng)求的代理的特性,則可以與其它代理建立關(guān)系。該多代理系統(tǒng)能夠自主地執(zhí)行代理間的動(dòng)態(tài)協(xié)商,以在一新的事件進(jìn)入系統(tǒng)時(shí),建立關(guān)系,或者提供補(bǔ)償以修改現(xiàn)有關(guān)系,并且進(jìn)行自組織以使系統(tǒng)的總體值最佳化。
文檔編號(hào)G06F9/46GK1628285SQ03803282
公開日2005年6月15日 申請(qǐng)日期2003年2月3日 優(yōu)先權(quán)日2002年2月4日
發(fā)明者喬治·勒熱夫斯基, 彼得·斯科別列夫 申請(qǐng)人:麥吉特有限公司