计算机图形学论文_论图计算
計(jì)算機(jī)圖形學(xué)論文
自從機(jī)械計(jì)算開(kāi)始以來(lái),圖形概念就已經(jīng)存在,并且在純數(shù)學(xué)領(lǐng)域已經(jīng)存在了數(shù)十年。 由于數(shù)據(jù)庫(kù)的黃金時(shí)代,圖形在軟件工程中變得越來(lái)越流行。 圖形數(shù)據(jù)庫(kù)提供了一種持久化和處理圖形數(shù)據(jù)的方法。 但是,圖形數(shù)據(jù)庫(kù)并不是存儲(chǔ)和分析圖形的唯一方法。 圖形計(jì)算在使用圖形數(shù)據(jù)庫(kù)之前已有一段歷史,并且其未來(lái)不一定會(huì)與典型的數(shù)據(jù)庫(kù)問(wèn)題糾纏在一起。 有許多圖形技術(shù),每種技術(shù)都有其各自的優(yōu)點(diǎn)和缺點(diǎn)。 有效的圖形計(jì)算需要在正確的時(shí)間利用正確的技術(shù)。
結(jié)構(gòu):使用圖對(duì)真實(shí)場(chǎng)景進(jìn)行建模
圖 (或網(wǎng)絡(luò) )是一種數(shù)據(jù)結(jié)構(gòu)。 它由頂點(diǎn)(點(diǎn))和邊緣(線)組成。 許多現(xiàn)實(shí)世界的場(chǎng)景可以建模為圖形。 這不一定是現(xiàn)實(shí)的某些客觀性質(zhì)所固有的,而是主要基于這樣一個(gè)事實(shí),即人類根據(jù)客體(頂點(diǎn))及其彼此之間的相互關(guān)系(邊緣)來(lái)主觀地解釋世界(一種反對(duì)這一觀點(diǎn)的論點(diǎn) )。 圖計(jì)算中常用的數(shù)據(jù)模型是屬性圖 。 以下示例說(shuō)明了通過(guò)三種不同方案進(jìn)行的圖形建模。
軟件圖
Stephen是名為TinkerPop的面向圖形的工程小組的成員 。 斯蒂芬為Rexster貢獻(xiàn)力量 。 Rexster通過(guò)軟件依賴關(guān)系與其他項(xiàng)目相關(guān)。 當(dāng)用戶在Rexster中發(fā)現(xiàn)錯(cuò)誤時(shí),他們會(huì)發(fā)出票證 。 可以通過(guò)圖形方便地捕獲對(duì)協(xié)作編碼環(huán)境的描述。 頂點(diǎn)(或事物)是人員,組織,項(xiàng)目和票證。 邊緣(或關(guān)系)例如是成員資格,依賴關(guān)系和問(wèn)題。 可以使用點(diǎn)和線將圖形可視化,下面描述了上述情況。
討論圖
Matthias對(duì)圖感興趣。 他是Aurelius的CTO和圖形數(shù)據(jù)庫(kù)Titan的項(xiàng)目負(fù)責(zé)人。 Aurelius有一個(gè)郵件列表 。 在此郵件列表上,人們討論了圖論和技術(shù)。 Matthias參與了討論。 他的貢獻(xiàn)越來(lái)越多。 郵件列表以遞歸方式表現(xiàn)為一棵樹(shù) 。 此外,消息的非結(jié)構(gòu)化文本引用了共享概念。
概念圖
圖可以用來(lái)表示任意概念之間的關(guān)系,甚至是與圖有關(guān)的概念。 例如,請(qǐng)注意后面句子中的概念(斜體)如何關(guān)聯(lián)。 圖可以表示為鄰接表 。 處理圖的一般方法是通過(guò)圖遍歷 。 圖形遍歷有兩種常規(guī)類型: 深度優(yōu)先和寬度優(yōu)先 。 圖形可以保存在稱為圖形數(shù)據(jù)庫(kù)的軟件系統(tǒng)中。 圖形數(shù)據(jù)庫(kù)以不同于常見(jiàn)軟件知識(shí)的關(guān)系數(shù)據(jù)庫(kù)的方式組織信息。 在下圖中,與圖相關(guān)的概念相互鏈接,表明概念關(guān)系形成了圖。
多域圖
前面的三個(gè)場(chǎng)景(軟件,討論和概念)是真實(shí)系統(tǒng)(例如GitHub , Google Groups和Wikipedia )的表示。 這些看似完全不同的模型可以通過(guò)共享頂點(diǎn)無(wú)縫集成到單個(gè)原子圖結(jié)構(gòu)中。 例如,在關(guān)聯(lián)的圖中, Gremlin是Titan依賴項(xiàng),Titan由Matthias開(kāi)發(fā),Matthias在Aurelius的郵件列表中寫消息(軟件與討論合并)。 接下來(lái), 藍(lán)圖是Titan的依賴項(xiàng),Titan是帶標(biāo)簽的圖 (軟件與概念合并)。 虛線表示其他此類跨域鏈接,這些鏈接演示了如何在跨域共享頂點(diǎn)時(shí)如何創(chuàng)建通用模型。 集成的通用模型可以經(jīng)受比任何單個(gè)模型都可以單獨(dú)提供的服務(wù)更豐富(也許更智能)的服務(wù)。
流程:通過(guò)遍歷解決實(shí)際問(wèn)題
到目前為止,已經(jīng)提出了一組相互關(guān)聯(lián)的域的單個(gè)圖形模型。 僅當(dāng)存在可以利用模型來(lái)解決問(wèn)題的流程時(shí),模型才有用。 就像數(shù)據(jù)需要算法一樣,圖也需要遍歷 。 遍歷是一種算法/定向遍歷圖,以便確定路徑(稱為導(dǎo)數(shù))或收集信息(稱為統(tǒng)計(jì)信息)的過(guò)程。 甚至查看圖形可視化的人類視覺(jué)系統(tǒng)也是一個(gè)遍歷引擎,利用聲波運(yùn)動(dòng)來(lái)識(shí)別模式。 但是,隨著圖形的變大和問(wèn)題需要精確的邏輯,可視化和人的內(nèi)部計(jì)算器會(huì)崩潰。 接下來(lái)提供遍歷示例的集合,這些示例解決了先前討論的領(lǐng)域中的典型問(wèn)題。
確定循環(huán)依賴
隨著開(kāi)源軟件的增長(zhǎng)以及將模塊輕松集成到項(xiàng)目中的便利, 循環(huán)依賴項(xiàng)比比皆是,并可能導(dǎo)致軟件工程中的問(wèn)題。 當(dāng)項(xiàng)目A依賴項(xiàng)目B,并且通過(guò)某種依賴路徑,項(xiàng)目B依賴項(xiàng)目A時(shí),發(fā)生循環(huán)依賴。 當(dāng)以圖形方式表示依存關(guān)系時(shí),遍歷可以輕松識(shí)別出這種圓形度(例如,在下圖中, A-> B-> D-> G-> A是一個(gè)循環(huán) )。
排名討論貢獻(xiàn)者
郵件列表由參與和能力水平不同的個(gè)人組成。 當(dāng)郵件列表專注于通過(guò)討論進(jìn)行學(xué)習(xí)時(shí),僅編寫消息并不一定表示積極貢獻(xiàn)。 如果產(chǎn)生了作者的消息答復(fù),則可以解釋為該作者正在貢獻(xiàn)值得討論的材料。 但是,如果作者的消息結(jié)束了對(duì)話,那么他們可能貢獻(xiàn)了非演講者或無(wú)法使討論蓬勃發(fā)展的信息。 在關(guān)聯(lián)的圖中,米色頂點(diǎn)是作者,而它們各自的編號(hào)是唯一的作者ID。
對(duì)郵件列表上的貢獻(xiàn)者進(jìn)行排名的一種方法是計(jì)算他們已發(fā)布的郵件數(shù)(作者對(duì)郵件列表中郵件的出奇程度 )。 但是,如果排名必須考慮到卓有成效的貢獻(xiàn),則可以根據(jù)其消息產(chǎn)生的討論深度(作者消息的樹(shù)深度)對(duì)作者進(jìn)行排名。 最后,請(qǐng)注意,可以包含其他技術(shù),例如情感和概念分析,以了解消息的含義和含義。
尋找相關(guān)概念
斯蒂芬對(duì)圖形的理解是在研究TinkerPop的圖形技術(shù)堆棧時(shí)發(fā)展起來(lái)的。 如今,他對(duì)學(xué)習(xí)更多有關(guān)圖的理論方面感興趣。 通過(guò)網(wǎng)絡(luò)瀏覽器,他訪問(wèn)了Wikipedia 圖形頁(yè)面。 Stephen以手動(dòng)方式單擊鏈接并閱讀文章-深度優(yōu)先,圖形遍歷,鄰接表等。他意識(shí)到頁(yè)面之間相互引用,并且由于Wikipedia的鏈接結(jié)構(gòu),一些概念與其他概念更相關(guān)。 可以使用圖形遍歷自動(dòng)執(zhí)行步行鏈接的手動(dòng)過(guò)程。 遍歷可以單擊圖形頂點(diǎn)而不是單擊,而不是單擊,而是向外傳播,并報(bào)告最受感動(dòng)的概念。 流動(dòng)最多的概念是具有許多關(guān)系(即路徑)的圖形概念 (請(qǐng)參閱先驗(yàn)算法 )。 通過(guò)這種遍歷,可以為Stephen提供圖形相關(guān)概念的排名列表。 這種遍歷類似于波在水體上擴(kuò)散-盡管現(xiàn)實(shí)世界中的圖形拓?fù)浜苌傧穸S平面那樣簡(jiǎn)單(請(qǐng)參見(jiàn)晶格 )。
多域遍歷
先前討論的不同圖形模型(即軟件,討論和概念)通過(guò)共享頂點(diǎn)被集成到單個(gè)世界模型中。 類似地,可以構(gòu)成上述圖遍歷以產(chǎn)生對(duì)跨域問(wèn)題的解決方案。 例如:
“向我推薦參與的項(xiàng)目,這些項(xiàng)目應(yīng)保持適當(dāng)?shù)囊来骊P(guān)系結(jié)構(gòu),并請(qǐng)有貢獻(xiàn)的參與者來(lái)推廣該空間,并且在概念上與我以前研究過(guò)的技術(shù)有關(guān)。”
當(dāng)異構(gòu)的物聯(lián)網(wǎng)鏈接在一起并在其中有效移動(dòng)時(shí),這種類型的問(wèn)題解決才有可能。 鏈接和移動(dòng)的方法分別是圖形和遍歷。 總結(jié)本節(jié),提供了其他有用的遍歷示例。
“基于項(xiàng)目的數(shù)量和其依賴項(xiàng)的數(shù)量,以遞歸方式計(jì)算項(xiàng)目的'穩(wěn)定性等級(jí)',以此類推。”
“根據(jù)項(xiàng)目之間的共享(或類似)概念進(jìn)行集群項(xiàng)目。”
“建議一個(gè)開(kāi)發(fā)人員團(tuán)隊(duì)開(kāi)發(fā)一個(gè)即將使用X依賴項(xiàng)并且與Y概念相關(guān)的項(xiàng)目。”
“按每期提交者所貢獻(xiàn)的項(xiàng)目數(shù)量來(lái)排名。”
圖計(jì)算技術(shù)
計(jì)算的實(shí)踐是圍繞兩個(gè)糾纏的量:空間和時(shí)間之間的細(xì)線。 在圖計(jì)算領(lǐng)域,存在相同的權(quán)衡。 本節(jié)將討論各種圖形技術(shù),以識(shí)別每種選擇所獲得和犧牲的內(nèi)容。 此外,提出了一些示例技術(shù)。 注意,存在更多的技術(shù),并且所提到的示例絕不是窮舉性的。
內(nèi)存中圖形工具包
內(nèi)存中圖形工具包是面向圖形分析和可視化的單用戶系統(tǒng)。 它們通常提供在圖論和網(wǎng)絡(luò)科學(xué)文獻(xiàn)中定義的眾多圖算法的實(shí)現(xiàn)(請(qǐng)參閱Wikipedia的圖算法列表)。 這些工具的局限性在于它們只能對(duì)可以存儲(chǔ)在本地主存儲(chǔ)器中的圖形進(jìn)行操作。 盡管這可能很大(數(shù)以百萬(wàn)計(jì)的邊緣),但并不總是足夠的。 如果源圖數(shù)據(jù)集太大而無(wú)法放入主存儲(chǔ)器中,則通常使用此類內(nèi)存中圖工具包將子集隔離并進(jìn)行處理。
示例 : JUNG , NetworkX , iGraph ,Fulgora(即將推出)
- [+]豐富的圖算法庫(kù)
- [+]豐富的圖形可視化庫(kù)
- [+]不同空間/時(shí)間折衷的不同內(nèi)存表示形式
- [-]限于可以放入主內(nèi)存的圖形
- [-]交互通常非常繁瑣
實(shí)時(shí)圖形數(shù)據(jù)庫(kù)
圖形數(shù)據(jù)庫(kù)也許是圖形計(jì)算技術(shù)最流行的化身。 它們提供事務(wù)語(yǔ)義,例如ACID(本地?cái)?shù)據(jù)庫(kù)的典型值)和最終的一致性(分布式數(shù)據(jù)庫(kù)的典型值)。 與內(nèi)存中圖形工具包不同,圖形數(shù)據(jù)庫(kù)利用磁盤來(lái)保留圖形。 在合理的機(jī)器上,本地圖數(shù)據(jù)庫(kù)可以支持?jǐn)?shù)十億條邊,而分布式系統(tǒng)則可以處理數(shù)千億條邊。 在如此規(guī)模的情況下,在多用戶并發(fā)的情況下(隨機(jī)訪問(wèn)磁盤和內(nèi)存正在發(fā)揮作用),全局圖算法是不可行的。 可行的是局部圖算法/遍歷。 而不是遍歷整個(gè)圖形,而是將某些頂點(diǎn)集用作遍歷的源(或根)。
示例 : Neo4j , OrientDB , InfiniteGraph , DEX , Titan
- [+]針對(duì)本地鄰域分析(“以自我為中心”的遍歷)進(jìn)行了優(yōu)化
- [+]經(jīng)過(guò)優(yōu)化,可處理大量并發(fā)用戶
- [+]交互是通過(guò)面向圖的查詢/遍歷語(yǔ)言進(jìn)行的
- [-]由于隨機(jī)磁盤交互,全局圖分析效率低下
- [-]由于數(shù)據(jù)庫(kù)功能(例如事務(wù)語(yǔ)義)而導(dǎo)致的大量計(jì)算開(kāi)銷
批處理圖框架
批處理圖框架利用計(jì)算集群。 該領(lǐng)域中大多數(shù)流行的框架都將Hadoop用于存儲(chǔ)(HDFS)和處理(MapReduce)。 這些系統(tǒng)面向全球分析。 也就是說(shuō),涉及整個(gè)圖數(shù)據(jù)集的計(jì)算,在許多情況下,涉及遍及整個(gè)圖多次的計(jì)算(迭代算法)。 此類分析不能實(shí)時(shí)運(yùn)行。 但是,由于它們執(zhí)行數(shù)據(jù)的全局掃描,因此可以利用從磁盤的順序讀取(請(qǐng)參閱《大數(shù)據(jù)病理學(xué)》 )。 最后,像內(nèi)存中系統(tǒng)一樣,它們面向數(shù)據(jù)科學(xué)家,或者在生產(chǎn)環(huán)境中用于將結(jié)果反饋到實(shí)時(shí)圖形數(shù)據(jù)庫(kù)中。
示例 : Hama , Giraph , GraphLab , Faunus
- [+]針對(duì)全局圖分析進(jìn)行了優(yōu)化
- [+]跨機(jī)器集群表示的流程圖
- [+]利用對(duì)磁盤的順序訪問(wèn)來(lái)縮短讀取時(shí)間
- [-]不支持多個(gè)并發(fā)用戶
- [-]不是實(shí)時(shí)圖形計(jì)算系統(tǒng)
本節(jié)介紹了不同的圖形計(jì)算解決方案。 重要的是要注意,還存在諸如Convey的MX系列和Cray的YARC圖形引擎之類的硬件解決方案。 討論的每種技術(shù)都有一個(gè)重要的主題-它們專注于處理圖形數(shù)據(jù)。 每個(gè)類別的權(quán)衡取決于現(xiàn)代硬件/軟件以及理論計(jì)算機(jī)科學(xué)提出的限制。
結(jié)論
對(duì)于熟練的人來(lái)說(shuō),圖計(jì)算不僅是一套技術(shù),而且是一種根據(jù)圖來(lái)思考世界以及根據(jù)遍歷來(lái)思考世界的方法。 隨著數(shù)據(jù)變得越來(lái)越可訪問(wèn),建立更豐富的環(huán)境模型變得更加容易。 越來(lái)越困難的是,以可以由不同計(jì)算系統(tǒng)方便且有效地處理的形式存儲(chǔ)該數(shù)據(jù)。 在許多情況下,圖是建模的自然基礎(chǔ)。 當(dāng)模型是圖形時(shí),則可以將多種圖形計(jì)算技術(shù)應(yīng)用于該模型。
致謝
O'Reilly的Mike Loukides非常友好 ,可以審閱本文的多個(gè)版本,這樣做可以使本文變得更好。
翻譯自: https://www.javacodegeeks.com/2014/06/on-graph-computing.html
計(jì)算機(jī)圖形學(xué)論文
總結(jié)
以上是生活随笔為你收集整理的计算机图形学论文_论图计算的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《心灵杀手 2》游戏新实机演示放出:艾伦
- 下一篇: 只能在测试中注射吗?