日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Agent與對象的辨析

如果說對象是70年代以來軟件界最激動人心的革新之一,那么,Agent的相關理論和技術,為分布式開放系統(tǒng)的設計與實現(xiàn)提供了新的途徑,可以稱之為軟件開發(fā)的又一重大突破。討論問題的前提是概念的澄清,什么是對象?什么是Agent ?二者又有哪些區(qū)別和聯(lián)系呢?

對象與OOP

對象是具有明確邊界和意義的事物.也是某些問題的概念抽象,是一個封裝了數(shù)據(jù)和方法的實體,一個對象的實質(zhì)是一組數(shù)據(jù)和與它相關的方法及操作。它的特征由屬性表示.屬性的數(shù)據(jù)值表示對象的狀態(tài)。系統(tǒng)開發(fā)人員通過對象所具有的屬性來了解對象的靜態(tài)結(jié)構(gòu)。通過操作可改變對象的內(nèi)部數(shù)據(jù)(私有的和受保護的數(shù)據(jù)).從而改變對象的狀態(tài)。當其他對象向某個對象發(fā)送消息時,操作就得以進行和實現(xiàn)。每一個對象都有唯一的標識.以區(qū)別于一個類中的其他對象。一個對象不同于其他對象的關鍵是其屬性值,構(gòu)成其標識。

對象是為現(xiàn)實世界中的實體建立的抽象模型,它包括了實體的屬性以及作用在實體上的操作。它具有唯一性、封裝性和多態(tài)性等重要特性。對象一般由三部分組成:對象名、對象體和觸發(fā)器。對象名唯一地標識一個對象,對象體是一個對象所封裝的所有效據(jù)的集合.它可以是屬性值的集合也可能是多個數(shù)據(jù)庫的集合。觸發(fā)器定義對象的哪些狀態(tài)變化會引起事件的產(chǎn)生,是可選擇的部分,它用于描述事件重要的狀態(tài)變化。

面向?qū)ο蟪绦蛟O計(Object 0riented Programming,OOP)是70年代末提出,并在8o年代中后期開始使用的一種程序設計技術。在OOP的設計中。對象是一個動態(tài)概念,是對客觀世界實體的數(shù)據(jù)抽象,即具有通信能力的特殊屬性和行為方式的一些基本運行實體。類是一個靜態(tài)概念,是一組對象的抽象定義或概括,且具有層次結(jié)構(gòu)和繼承性特征。面向?qū)ο蟪绦蛟O計的基本思想是:是一種以對象為基礎,以事件驅(qū)動對象的程序設計技術,通過建立和具體實際相對應的軟件對象,通過對這些對象的組合來創(chuàng)建具體的應用,通過對象屬性定義,對象方法調(diào)用及編寫對象事件函數(shù)來完整地描述對象,并實現(xiàn)對象之間的聯(lián)系和對象本身的操作,從而 實現(xiàn)整個系統(tǒng)設計。

一般認為,OOP力圖將問題空間的結(jié)構(gòu)和概念直接映射到軟件的解空間.從而使人類認識問題的過程與軟件開發(fā)的過程保持一致。

Agent與AOP

什么是Agent 呢?Agent 是一個具有多重含義的概念,根據(jù)場景和視角的不同有著極大的差別。

從精神狀態(tài)的角度來看,“如果一個實體可以用信念、承諾、義務、意圖等精神狀態(tài)進行描述.那么該實體可視為一個Agent”。如果建立單個Agent的目的是想模擬人的行為,而從精神狀態(tài)的角度對人的行為分析是比較自然的,這也正是Agent作為人工智能基礎理論的重要原因之一。一般第,這一定義被稱之為Agent的強定義。弱定義,即“如果一個實體具有自主性、反應性、主動性、社交性四條基本性質(zhì),那么該實體也可以視為一個Agent”。

從設計者的角度來看,Agent 是一種抽象工具,通過它能使我們用更方便更熟悉的擬人化方式來描述、解 釋、預測一個復雜系統(tǒng)的行為。一般來說.一個系統(tǒng)越復雜,我們對系統(tǒng)越不了解,就越需要用基于意圖的立場來觀察和解釋它的行為。當然.在賦予Agent各種思維狀態(tài)時.要求必須精確、簡單而自然。

在計算機領域,agent是一種處于一定的環(huán)境下能夠自主、智能地完成其他個體指派任務的系統(tǒng)。簡單地說, Agent 指的是一種實體,而且是一種具有智能的實體。Agent的特點如下表:

特點

英文

解釋

代理性

Action On Behalf Others

具有代表他人的能力,即它們都代表用戶工作

自治性

Autonomy

能在非事先規(guī)劃、動態(tài)的環(huán)境中解決實際問題,獨立發(fā)現(xiàn)和索取符合擁護需要的資源、服務等等.

主動性

Proactivity

能夠遵循承諾采取主動,表現(xiàn)面向目標的行為

反應性

Reactivity

能感知環(huán)境,并對環(huán)境作出適當?shù)姆磻?/p>

社會性

Social Ability

能同代理代表的用戶、資源、其它代理進行交流.

智能性

Intelligence

具有一定程度的智能,包括推理到自學習等一系列的智能行為

合作性

Callaboration

以與其它代理分工合作,共同完成單個代理無法完成的任務

移動性

Mobility

具有移動的能力,為完成任務,可以從一個節(jié)點移動到另一個節(jié)點

由于Agent的特性,基于Agent的系統(tǒng)應是一個集靈活性、智能性、可擴展性、魯棒性、組織性等諸多優(yōu)點于一身的高級系統(tǒng).

面向代理實體的編程(Agent 0riented Programming,AOP)對計算持社會性觀點,并結(jié)合了傳統(tǒng)的面向?qū)ο蟪绦蛟O計的特點.如數(shù)據(jù)封裝、消息傳遞等。需要注意的是,本文所指的AOP,不是面向切面的編程(Aspect Oriented Programming,AOP)。一般認為,完整的AOP系統(tǒng)應包含以下三個部分:

  • 一個邏輯系統(tǒng)以定義Agent的思維狀態(tài)(Mental States);
  • 一個可解釋的編程語言以便對Agent編程;
  • 一個Agent實現(xiàn)(Agentification)過程,將Agent程序編譯為低層執(zhí)行代碼。

AOP實質(zhì)上是對具有思維狀態(tài)的智能實體進行編程。一個Agent程序給Agent的思維狀態(tài)、環(huán)境的信息輸入 以及Agent對環(huán)境的行為輸出三者之間提供了一種聯(lián)系。一般一個Agent程序包括:一個初始思維狀態(tài),它含一個初始信念集、一個初始意圖集和一個初始規(guī)劃集;一個思維狀態(tài)改變規(guī)則集。初始信念集和意圖集將用模態(tài)算符加上帶時間索引的一階謂詞語言表達。初始規(guī)劃集用帶時序關系的原子動作序列來表達。一般地,初始規(guī)劃集是空集。思維狀態(tài)的改變規(guī)則集是Agent程序的核心。它包含兩種規(guī)則,一種用于更新信念集和意圖集,另一種用于產(chǎn)生規(guī)劃。

AOP是一種以計算的社會觀為基礎的新型程序設計范例,它以智能體的設計和構(gòu)造作為人工智能程序設計的核心,重視智能體的動態(tài)特征和智能體的交互活動,并將對分布式系統(tǒng)的研究與開發(fā)產(chǎn)生深刻的影響。

面向Agent 與 面向?qū)ο?的建模

面向?qū)ο蠼sw現(xiàn)了面向?qū)ο筌浖_發(fā)中以模型驅(qū)動的基本思想.它將軟件開發(fā)的重心轉(zhuǎn)移到了分析階段。在整個開發(fā)過程中,使用統(tǒng)一的概念——對象,而其它所有的概念都是圍繞著對象組成的,在分析階段中建立的對象模型也適合于設計和實現(xiàn)階段,軟件開發(fā)的各階段比較統(tǒng)一。整個開發(fā)過程實際上就是對模型細化的過程,從而避免了傳統(tǒng)的結(jié)構(gòu)化方法中從數(shù)據(jù)流程圖到模塊層次結(jié)構(gòu)圖的轉(zhuǎn)化過程。

面向?qū)ο蠼5木窒拊谟冢?/p>

  • 建模的描述過程不是很清楚,而建模的結(jié)果是各種圖形的表示,它們不能具體地體現(xiàn)建模過程;
  • 用圖形表示分析過程,這樣在表示大而復雜的系統(tǒng)時很不容易畫得條理清晰;
  • 系統(tǒng)的描述是不夠詳細的;
  • 不含有語義的成分,這樣對系統(tǒng)的描述是不夠精確的, 有些操作會產(chǎn)生二義性。

面向Agent建模要把研究的系統(tǒng)看成是基于Agent的系統(tǒng),然后運用Agent理論對所研究的問題進行抽象建模。基于Agent的系統(tǒng)具有的三個基本要素是:Agent(對應于實體)、事務(對應于活動)和資源。通過對這三個基本要素及之間的關聯(lián)進行描述,即可從過程的角度對基于Agent的系統(tǒng)進行描述、抽象、建模。由于對面向Agent建模的認識是逐步深入的,很難從一開始就能給出一個詳盡描述,因此以上步驟必然是一個有反 復的、逐步求精的過程。

“對象”的抽象和表達能力又遠遠的遜色于“Agent”,Agent擴展了“對象的內(nèi)涵和使用范圍”,它更適合復雜系統(tǒng)問題的描述與處理。面向Agent建模并不是否定面向?qū)ο蠼#敲嫦驅(qū)ο蠓椒ǖ难由炫c拓展,兩者區(qū)別主要表現(xiàn)在以下兩個方面:

(1)對單個智能體而言,面向?qū)ο蠹夹g將客觀世界看成“剛性的”對象,不具有組織和抽象出更高層次的構(gòu)建單元的能力。而Agent自主、靈活的問題求解行為,能良好地表達出智能體的精神狀態(tài)。

(2)對多智能體系統(tǒng)而言.面向?qū)ο蠹夹g無法對智能體之間豐富的交互行為進行完整的抽象,亦無法充分表達多智能體之間動態(tài)組織結(jié)構(gòu)的復雜性;而面向Agent建模就比較適合。

面向Agent 與 對象軟件工程

面向Agent的軟件工程,其工作原理是將Agent看作為模型的構(gòu)成條件,同時圍繞對應的基本條件有條不紊的開展與系統(tǒng)相關的系列活動,被認為是目前技術性較強的軟件開發(fā)模型。不管是軟件系統(tǒng)還是應用系統(tǒng),它的內(nèi)部構(gòu)成都包括多個Agent,Agent表現(xiàn)出來的特點主要有自發(fā)性、反應性、社會性和自主性,屬于行為自控的行為實體。Agent與Agent之間表現(xiàn)出來的結(jié)構(gòu)關系較為復雜,其作用是由高層相互交換來實現(xiàn)的,在這樣的前提下達到系統(tǒng)設計的預期目標。

面向Agent軟件工程針對系統(tǒng)研發(fā)來講,不僅為其構(gòu)建了系統(tǒng)平臺,同時還完成了理論的提供和技術環(huán)境的提供。它主要通過系統(tǒng)的模塊分解,數(shù)據(jù)建模和抽象理論完成系統(tǒng)數(shù)據(jù)的闡述和管理,達到了系統(tǒng)設計的基本要求和目標,這樣更可以促進系統(tǒng)難度的提升和靈活性的增加,在此基礎上還增加了維護性特點和重用性特點。面向Agent軟件工程的基本思想與定義在理論論與軟件工程整體規(guī)劃處于同一個軌道線,基本特點體現(xiàn)出了自然抽象和功能強大。

(1)許多問題固有的分布性(數(shù)據(jù)、能力、控制)本身就是由多個交互自主實體組成的松散耦合網(wǎng)絡。面向agent方法采用粗粒度的自主計算實體為抽象機制,以社會學的觀點和人們熟悉的概念(組織,角色等)進行分析、建模、設計復雜分布式系統(tǒng)。面向?qū)ο蠓椒▌t采用細粒度的非自主計算實體(對象)為抽象機制,對復雜問題分析與建模,面向agent較面向?qū)ο蟾匀?、直觀、簡單,容易理解。

(2)面向agent分析與設計處理實體間知識級交互,實體能自主確定交互的方式、范圍、時間,內(nèi)容;同時,存在多種組織關系(如等級制、專家共同體、市場機制等),適合復雜系統(tǒng)的建模。面向?qū)ο蠓椒ㄖ袑ο蟮慕换ナ怯锰幱谡Z法級對象問的消息傳遞來實現(xiàn),對象間的組織關系少(如包含、聚合關系),缺乏足夠的機制來模型化復雜系統(tǒng)。

(3)面向agent軟件工程主要強調(diào)角色、責任、服務、目標這些抽象機制來處理復雜性,以何時完成何種目標來分析應用領域,核心是完成的目標。面向?qū)ο蠓椒ㄖ饕獜娬{(diào)完成目標的行為類型。因為在任何應用領域中目標比行為或計劃更穩(wěn)定,強調(diào)目標與強調(diào)行為這看似很小的改變,卻導致實質(zhì)上的不同,面向agent的目標分析使得系統(tǒng)設計更穩(wěn)定、健壯、模塊化,能進行漸增式地開發(fā)和測試,具有可擴展性。上下文敏感的計劃提供了模塊性和構(gòu)成性,不必改變已有的計劃,為實現(xiàn)同一目標的新的上下文計劃可加入系統(tǒng)中,這使得系統(tǒng)能處理易變性和特例。

(4) 面向agent軟編程的基本部件是agent;面向?qū)ο缶幊虒Χx基本部件狀態(tài)沒有明確規(guī)定,Agent模型的基本部件狀態(tài)可包含信念、承諾、能力、選擇等;OOP用方法引用處理消息,而AOP的消息類型來自言語行為理論,可包含通知、請求、提供、承諾、拒絕等,agent通信有專用語言,如KQML;通常agent在面向agent方法中被實現(xiàn)為有意圖的系統(tǒng).而OOP將對象作為類的實例。

就面向Agent軟件工程中的程序設計而言,大于有三種方式:

(1)采用和LISP語法形式差不多的句子對Agent的組成部分進行表達,也包括對Agent系統(tǒng)的行為或者系統(tǒng)之間互相交流溝通,對于提高Agent系統(tǒng)的功能性有很大的幫助。(2)基于邏輯技術,邏輯系統(tǒng)包括一階謂詞邏輯以及時序邏輯等等,也可以作為Agent的程序設計語言來使用,在程序編寫的時候,用邏輯系統(tǒng)來對Agent系統(tǒng)的各種方式以及內(nèi)部組成里進行表述和定義,例如相關知識、意圖和信念、原子動作和規(guī)則等都可以用邏輯技術來表述定義。邏輯技術的理論系統(tǒng)和語義定義都相當嚴謹。(3)運用了面向?qū)ο蟮能浖_發(fā)技術和軟部件技術,屬于在語言級上對Agent系統(tǒng)程序提供支持。通常都是把Agent系統(tǒng)當成一個特有的對象,用Agent內(nèi)部功能的預定義軟部件來編程和實現(xiàn)Agent系統(tǒng),它的前提是使用的軟部件必須是一組已經(jīng)封裝的特殊類。

到2000年為止,面向Agent軟件工程的研究與實踐經(jīng)歷了一個由活躍到沉寂的過程,主要因素就是技術問題。近幾年,隨著人工智能技術走進人們的生產(chǎn)和生活,這方面的研究又再次掀起了熱潮。

小結(jié)

Agent是對象實體延伸,Agent可以看作特殊意義上的對象,但Agent畢竟不同于對象,其區(qū)別主要表現(xiàn)在以下幾個方面:

  • 盡管Agent與對象都是采用消息傳遞實現(xiàn)聯(lián)系,但就對象而言.消息的傳遞是為了激活方法;而Agent是對消息進行區(qū)分的基礎上.利用意圖及復雜的協(xié)議進行建模以實現(xiàn)協(xié)商,決定是否答應執(zhí)行所請求的行為。
  • Agent可主動運行,有自己的目標和行為,可由外部激勵或內(nèi)部狀態(tài)而啟動,而對象是純被動的,只能由外部的消息控制。
  • Agent是一個自治的實體,具有自己的知識和分析問題方法,能理解信息并控制自己的行為,而對象只能機械地執(zhí)行所規(guī)定的動作。
  • Agent能根據(jù)推理規(guī)則進行信息的抽象,而對象卻一般不具備推理能力

如果把對象理解成存儲組合處理器的話,那Agent就是存儲、處理器和程序員的組合, 程序員能賦予了主體某種目的性和意志性。人在投影自己的思維主體時,最終的對等模型大概還是Agent,而不是對象,因此,Agent比對象的概念更廣更深。


網(wǎng)站標題:Agent與對象的辨析
本文網(wǎng)址:http://www.dlmjj.cn/article/cdochdh.html