日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

图论知识及其应用初步调研

發布時間:2024/8/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 图论知识及其应用初步调研 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

圖論及其應用調研

圖論基礎

圖的分類

  • 有向圖和無向圖
  • 有權圖和無權圖
  • 連通圖和非連通圖

基礎知識

  • 度:對于無向圖,頂點的度表示以該頂點作為一個端點的邊的數目。對于有向圖,頂點的度分為入度和出度。入度表示以該頂點為終點的入邊數目,出度是以該頂點為起點的出邊數目,該頂點的度等于其入度和出度之和。
  • 生成樹:在含有原圖所有頂點的前提下,以最少數量的邊將它們連接起來,統一生成樹,最小生成樹
  • 拓撲排序:是一個有向無環圖(DAG)的所有頂點的線性序列。且該序列必須滿足條件,每個頂點出現且只出現一次,若存在一條從頂點 A 到頂點 B 的路徑,那么在序列中頂點 A 出現在頂點 B 的前面。通常用來“排序”具有依賴關系的任務。
  • 連通性:在圖論中,連通圖基于連通的概念。在一個無向圖 GGG中,若從頂點iii 到頂點jjj有路徑相連,則稱iiijjj 是連通的。如果GGG是有向圖,那么連接iiijjj的路徑中所有的邊都必須同向。如果圖中任意兩點都是連通的,那么圖被稱作連通圖。如果此圖是有向圖,則稱為強連通圖。圖的連通性是圖的基本性質。
  • 完全圖:一個簡單的無向圖,其中每對不同的頂點之間都恰連有一條邊相連。

圖論應用

概述

圖可用于在物理、生物、社會和信息系統中建模許多類型的關系和過程,許多實際問題可以用圖來表示。因此,圖論成為運籌學、控制論、信息論、網絡理論、博弈論、物理學、化學、生物學、社會科學、語言學、計算機科學等眾多學科強有力的數學工具。在強調其應用于現實世界的系統時,網絡有時被定義為一個圖,其中屬性(例如名稱)之間的關系以節點和或邊的形式關聯起來。

對現實生活中的場景抽象建模,再結合圖論相關算法與知識解決實際問題

分述

計算機科學

圖被用來表示通信網絡、數據組織、計算設備、程序執行流程、芯片設計等

網站的鏈接結構可以用一個有向圖表示,其中頂點表示網頁,有向邊表示從一個頁面到另一個頁面的鏈接

語言學

各種形式的圖論方法已證明在語言學中特別有用,因為自然語言常常適合于離散結構。傳統上,語法和組合語義遵循基于樹的結構,其表達能力取決于組合原則,在層次圖中建模。更現代的方法,如頭驅短語結構語法,使用類型化特征結構對自然語言的語法建模,這些特征結構是有向無環圖。在詞匯語義學中,特別是在計算機上,當一個給定的單詞被相關的單詞理解時,建模單詞的意義就更加容易了。因此,語義網絡在計算語言學中非常重要。音系學中的其他方法(例如,使用格點圖的最優性理論)和形態學(例如,使用有限狀態形態學,使用有限狀態傳感器)在語言作為圖的分析中也很常見。如TextGraphs、WordNet與VerbNet等

物理與化學

圖論也被用來研究化學和物理中的分子。在凝聚態物理中,通過收集與原子拓撲有關的圖論性質的統計量,可以定量地研究復雜的模擬原子結構的三維結構。此外,“費曼圖和計算規則將量子場論總結成一種與人們想要理解的實驗數字密切相關的形式。”

在化學中,圖是分子的自然模型,頂點表示原子,邊表示鍵。這種方法特別用于分子結構的計算機處理,從化學編輯器到數據庫搜索。

在統計物理學中,圖可以表示系統相互作用部分之間的局部連接,以及系統上物理過程的動態。

類似地,在計算神經科學中,圖可以用來表示大腦區域之間的功能連接,這些區域相互作用產生各種認知過程,其中頂點代表大腦的不同區域,而邊緣代表這些區域之間的連接。

圖論在電氣網絡的電氣建模中起著重要的作用,在這里,權值與線段的電阻有關,從而獲得網絡結構的電氣特性。用圖表示多孔介質的微尺度通道,其中頂點表示孔隙,邊表示連接孔隙的較小通道。化學圖論利用分子圖作為分子模型的一種方法。

社會科學

類似莫雷諾社會圖的使用使得圖論也被廣泛地應用于社會學中,作為一種衡量演員聲望或探索謠言傳播的方法,特別是通過使用社會網絡分析軟件。在社交網絡的保護傘下,有許多不同類型的圖。熟人圖和友誼圖描述了人們是否互相認識。影響圖是一種模型,用來描述某個人是否能夠影響其他人的行為。最后,協作圖建模兩個人是否以特定的方式一起工作,例如一起在電影中表演。

生物學

圖論在生物學和保護工作中也很有用,其中一個頂點可以表示某些物種存在(或棲息)的區域,而邊緣則表示這些區域之間的遷移路徑或移動。當觀察繁殖模式或跟蹤疾病、寄生蟲的傳播或運動的變化如何影響其他物種時,這些信息非常重要。圖論也被用于連接學;神經系統可以被看作是一個圖,其中節點是神經元,邊緣是它們之間的連接。圖論可用于神經網絡建模與腦區活動

數學

在數學中,圖形在幾何學和拓撲的某些部分如結理論中是有用的。代數圖論與群論有著密切的聯系。代數圖論已經應用于包括動態系統和復雜性在內的許多領域。

金融

金融系統可被視為一組相互關聯的經濟主體,如零售、投資銀行、保險公司、投資基金、中央銀行、監管機構、金融科技公司、非金融公司和家庭等。這些經濟主體之間的關系通常通過合同正式確定,如貸款(兩家銀行之間,或銀行借貸給公司,或銀行借貸給家庭)、互惠所有權或保險單。但這種關系也可以是隱性的,比如不同主體對同一種資產的投資就構成了一種間接關系。因此,將金融系統表示為一個網絡是很自然的,在這個網絡中,節點代表經濟主體,連邊代表它們之間的關系。在一對主體之間,通常有幾種隨時間變化的關系。因此,金融系統最真實的表現形式是時序多層網絡(temporal multiplex network)。然而,在許多情況下,人們關注的是單個過程,其時間尺度比這些關系變化的時間尺度短得多。這種簡化使得將金融系統表示為單層靜態網絡成為可能。將金融系統表示為一個網絡,可以對主體之間的沖擊傳播進行顯式建模

金融系統網絡建模對于捕捉金融機構之間的復雜關系至關重要。金融網絡展示了金融系統中有大量重要現象可以從金融行為者之間的相互作用來理解。例如,如果某項資產的價格暴跌,不僅會影響那些投資于該資產的投資者,還會影響那些投資于這些投資者債務的債權人。由于存在錯綜復雜的契約鏈和反饋機制,由此產生的影響可能比最初的沖擊大得多。與復雜系統的其他領域一樣,系統層面不穩定性的出現能從網絡結構(例如:封閉鏈)及其連邊和節點的關鍵屬性(例如:與風險傳播和財務杠桿有關的屬性)的相互作用中理解。

盡管我們都知道豐富的數據集對許多領域復雜系統的研究有巨大幫助,但由于保密問題金融網絡上的分類數據往往無法獲得。學者們嘗試從部分信息中估計金融網絡的結構來解決這個問題,并通過網絡結構的變化來識別不穩定的預警信號。

在金融交易的過程中構成交易圖譜,使得圖論的相關算法具有與金融網絡十分相符,隨著區塊鏈的普及,在區塊鏈結構上的交易日益增多,更使得隱私訴求顯得更加重要。

規劃

政府或公司可以用圖論進行道路交通規劃或者路徑優化,加權的邊可以表示限速或者車道的數量。建模人員可以用這個系統來判斷最佳路線及最有可能堵車的街道。

航空公司可以用圖來為其飛行系統建模。將每個機場看成頂點,將經過兩個頂點的每條航線看作一條邊。加權的邊可以看作從一個機場到另一個機場的航班成本,或兩個機場之間的距離。

其他

在調研過程中,還發現了網絡科學這門分支學科,其致力于研究復雜網絡的性質,并且應用這些性質去研究一些具有網絡特點的領域,比如信息技術網絡,計算機網絡,生物圈網絡,學習和認知網絡,社會關系網絡以及經濟和金融網絡。和圖論這個領域關聯性較大。還有圖形數據庫相關領域也是圖論實際運用的絕佳場景

圖數據庫

解決問題

知識內容具體算法應用經典問題
圖基本概念與算法圖的表示、圖的遍歷(廣度+深度)、圖的環或圈檢測、拓撲排序算法構成圖論的基本內容,存儲,基本遍歷搜索與拓撲排序遍歷搜索,處理有前后關聯的任務安排
距離與連通性最短路徑算法、 圖連通性判斷算法路徑規劃、統籌規劃與系統可靠性檢驗路徑規劃,設施布局,網絡可靠性檢測
圖著色解決涂色問題(Welch-Powell算法)解決資源有限和其他約束條件下的分配問題課程表問題,安全裝箱問題,地圖著色問題,信道分配問題
可平面性判斷是否為平面圖(DMP算法,平面嵌入的灌木生長算法,PFA,st編碼算法)一個圖可以畫成任意兩條邊都不相交的樣子,多用于工程規劃領域印制電路板,道路布局
歐拉圖與哈密頓圖求解歐拉回路(Hierholzer、Fleury、DFS搜索)、判別歐拉回路,求解哈密頓圈問題是否/如何遍歷所有路徑/節點并避免重復中國郵遞員問題,七橋問題
有向圖與網絡最大流算法(2F算法,分層算法,Edmond-Karp 算法),極大流算法,有上下界網絡最大流算法,有供需要求的網絡流算法優化調度分配交通網絡調度
樹與二分圖最小生成樹(DFS+BFS),最優樹算法(Kruskal算法)、有序二元樹幾乎所有圖論都離不開樹Huffman編碼;最佳追捕問題
匹配理論匈牙利算法、求最佳匹配的有效算法、KM算法在匹配與許配問題中進行最優化處理BernoulliEuler錯插信箋問題;Hall婚配定理;應聘問題
圖支配問題支配樹構造(Lengauer Tarjan 算法)對影響與覆蓋問題的數學抽象皇后問題,中心臺站選址

特殊圖

“以一種特殊方式對圖進行遍歷,有時我們需要經過每一條邊一次,有時候我們需要經過每一個結點恰好一次”

術語

歐拉圖:遍歷每一條邊一次并恰好再次回到出發點,G是歐拉圖當且僅當G是連通的且每個結點的度為偶數

哈密頓圖:通過圖G的每個結點一次,且僅一次的通路(回路),就是哈密頓通路(回路)。存在哈密頓回路的圖就是哈密頓圖。與歐拉圖的情形不同,還未找到判斷一個圖是否是哈密頓圖的非平凡的充要條件。事實上這是圖論中尚未解決的主要問題之一

多重圖:允許出現多重邊的結構稱為多重圖

相關算法

判別歐拉回路

無向圖G存在歐拉通路的充要條件是:

G為連通圖,并且G僅有兩個奇度結點(度數為奇數的頂點)或者無奇度結點。

推論1:

  • 當G是僅有兩個奇度結點的連通圖時,G的歐拉通路必以此兩個結點為端點。

  • 當G是無奇度結點的連通圖時,G必有歐拉回路。

  • G為歐拉圖(存在歐拉回路)的充分必要條件是G為無奇度結點的連通圖。

  • 有向圖D存在歐拉通路的充要條件是:

    D為有向圖,D的基圖連通,并且所有頂點的出度與入度都相等;或者除兩個頂點外,其余頂點的出度與入度都相等,而這兩個頂點中一個頂點的出度與入度之差為1,另一個頂點的出度與入度之差為-1。

    推論2:

  • 當D除出、入度之差為1,-1的兩個頂點之外,其余頂點的出度與入度都相等時,D的有向歐拉通路必以出、入度之差為1的頂點作為始點,以出、入度之差為-1的頂點作為終點。
  • 當D的所有頂點的出、入度都相等時,D中存在有向歐拉回路。
  • 有向圖D為有向歐拉圖的充分必要條件是D的基圖為連通圖,并且所有頂點的出、入度都相等。
  • A.判斷歐拉通路是否存在的方法

    有向圖:圖連通,有一個頂點出度大入度1,有一個頂點入度大出度1,其余都是出度=入度。

    無向圖:圖連通,只有兩個頂點是奇數度,其余都是偶數度的。

    B.判斷歐拉回路是否存在的方法

    有向圖:圖連通,所有的頂點出度=入度。

    無向圖:圖連通,所有頂點都是偶數度。

    求歐拉回路或歐拉路

    Hierholzer 算法

    也稱逐步插入回路法。

    算法流程為從一條回路開始,每次任取一條目前回路中的點,將其替換為一條簡單回路,以此尋找到一條歐拉回路。如果從路開始的話,就可以尋找到一條歐拉路。

    Hierholzer 算法的暴力實現如下:

    Fleury 算法

    也稱避橋法,是一個偏暴力的算法。算法流程為每次選擇下一條邊的時候優先選擇不是橋的邊。

    最簡單的實現方法是每次刪除一條邊之后,運行一遍 Tarjan 找橋。復雜的實現方法要用到動態圖等,實用價值不高。

    DFS搜索求解歐拉回路

    基本思路:利用歐拉定理判斷出一個圖存在歐拉回路或歐拉通路后,選擇一個正確的起始頂點,用DFS算法遍歷所有的邊(每一條邊只遍歷一次),遇到走不通就回退。在搜索前進方向上將遍歷過的邊按順序記錄下來。這組邊的排列就組成了一條歐拉通路或回路。

    哈密頓圖算法

    一般地,尋找一個圖的哈密頓圈問題是 NP 困難的。因此通常都是用窮舉搜索的方法來判定一個圖是否含有哈密頓路或圈。后來F.Rubin利用推演的方法給出了一個好一點的搜索步驟來找出圖里的一些或者全部的哈密頓路或圈,D.Angluin和L.G.Valiant設計的概率算法對哈密頓路或圈的尋找也是非常有用的。尋找哈密頓路的確定算法雖然很難有多項式時間的,但是這并不意味著只能進行時間復雜度為O(n!?n)O(n!·n)O(n!?n) 暴力搜索。利用狀態壓縮動態規劃,我們可以將時間復雜度降低到O(n2?n3)O(n^2·n^3)O(n2?n3) ,具體算法是建立方程f[i][S][j]f[i][S][j]f[i][S][j],表示經過了iii個節點,節點都是集合SSS的,到達節點jjj時的最短路徑。每次我們都按照點jjj所連的節點進行轉移。

    具體應用場景

    路徑規劃–如何遍歷所有需要路徑并避免重復路徑

    以經典哥尼斯堡七橋問題為例

    在實際生活中可以用于為郵遞車、垃圾回收車、掃雪車。旅游路徑規劃、送牛奶等等設計合適的路線、一筆畫問題

    哈密頓圖及其判定方法可以解決中國郵路問題、旅行售貨員問題、排座位問題。

    隱私需求

    由于涉及到路徑,其在現實生活中具有大量具體的隱私需求

    舉例:

    • 我們希望得到自己游園的最佳路徑,但不想暴露路徑信息

    • 在網絡中避免重復的遍歷所有路徑,隱私數據的傳輸

    • 交易圖譜中的一筆畫問題

    例如:

    • 輸入數據:地圖中的某部分“圖”(點+線)
    • 輸出數據:反饋路徑執行
    • 優化:加入權重,動態調整
    • 舉例:運鈔車需要在幾個節點間運送鈔票,設計合適的路線并保護隱私;交易圖譜中尋找最佳遍歷情況
    • 評述:歐拉圖屬于路徑規劃中的一個分支,算是特殊的最短路問題,特殊的最佳遍歷問題

    圖著色-GCP

    “事物基本屬性要求它們之間相互隔離”

    術語

    可k著色:可以用k種顏色著色的圖

    色數:完成圖著色的最小顏色數

    獨立:S為V(G)的子集,如果S中的任何一對結點都不相鄰,則S是獨立的

    四色定理:任意一個平面圖,都可以使用四種顏色進行著色,使得一個結點和它的鄰居顏色不一樣。四色定理只適合于平面圖。

    頂點著色:任意一個結點,它的鄰居的結點顏色不能和它一樣。也就是說,同一條邊的兩個結點顏色不一樣。頂點著色是圖著色的基礎。點著色要求圖不能有自環,就是不能存在兩個端點一樣的邊。但是圖可以是多重圖。

    • 應用:有n個物品需要裝箱,有些物品不能放在一起,哪些物品不能放一起都已經知道,求最少需要多少個箱子?問題同樣可以描述為有n個動物放到籠子里,或者有n個學生分班。
    • 解決:這個問題可以轉化成頂點著色問題。假設n個物品為一個圖的頂點,如果物品a和b不能在一起,那么就在a和b之間連一條邊,問題變成求這個圖的點著色的色數。

    邊著色:任意相鄰的邊的顏色不能相同,也就是有公共結點的邊顏色不能相同。邊著色要求圖不能有自環,但是可以是多重圖。

    • 應用:會議安排–全校老師要求各教師每周給某班級上課,問如何安排一張周課程表,使所排課時數目盡可能地少?
    • 解決:對圖進行邊著色,如果兩條邊顏色相同,就代表它們是同一個時間段。一個老師發出的邊不可能相同,一個班級發出的邊顏色也不能相同,就是邊著色,求出最小色數即可

    星著色:一個結點與它的鄰居不能同色,一個結點的鄰居不能同色

    • 應用:溯源–查找IP包經過的路由器,并盡可能少的信息
    • 解決:對網絡進行星著色,如果我們知道一個IP包經過的路由器的顏色序列以及知道包走過的最后一個路由器,那么我們就能把整個路徑找出來

    Distance-k著色:任意長度為k(結點數為k+1)的路徑,結點顏色都不相同,星著色便是distance-2 Coloring

    • 應用:波長分配–主管部門對每家電視發射臺分配一個頻道。為了排除干擾,使用同一頻道的發射臺之間相距必須大于指定的正數d
    • 解決:典型Distance-k著色問題,保證任意長度為k的路徑,結點顏色都不相同

    應用

    • 調度問題:頻道分配,會議/賽事安排,考試日程

    • 地圖著色

    • 動物園設計

    • 化學品存放

    • 數獨問題:數獨是圖著色問題的一個變種,其中每個單元格代表一個頂點。如果兩個頂點在同一行、列和塊中,則在這兩個頂點內形成一條邊,每個塊將有不同的顏色。

    • 寄存器分配:編譯器是將源代碼從高級語言(Java、Scala)轉換成機器代碼的程序。這通常是分步驟進行的,最后一步是將寄存器分配給程序中最常用的值,同時將其它值放入內存。我們可以將符號寄存器(變量)建模為頂點,如果同時需要兩個變量,則形成一條邊。如果該圖可以用 K 色進行著色,那么變量可以存儲在 k 寄存器中。

    算法

    貪心策略:解決圖著色問題。雖然它不保證最小顏色數量,但它保證了分配給圖形的顏色數量上限

    Welch-Powell算法:保證最小數量著色

    分析總結

    圖著色算法用于解決資源有限和其他約束條件的問題。顏色是試圖優化的任何資源的抽象,圖則是對問題的抽象。

    隱私需求

    多方共同規劃行程安排?

    醫院病患咨詢安排?

    提供隱私溯源的記錄方法?

    對隱私計算過程中的有限約束條件問題提供優化

    可平面圖

    術語

    可平面:能將圖在平面畫出且其邊各不相交,所有樹都是可平面的,驗證這一點的方法就是將樹以有根樹的形式畫出來

    交叉數:如果一個圖不可平面,最小的邊相交次數叫做交叉數

    平面圖:已經畫在平面內且邊各不相交的圖

    算法

    平面性算法

    判定一個給定圖是否為可平面圖,并且求出它的一個平面嵌入(若是可平面圖)在計算機上可以實現的方法。

    第一個平面性算法是由奧斯蘭德爾(Auslander,L.)和帕特爾(Parter,S.V.)于20世紀60年代初給出的。之后,出現了有數十種之多的算法。直到1974年,由候波科勞(Hopcroft,J.)和塔爾金(Tarjan,R.)建立了第一個線性時間的算法,即對很大的圖這個算法所需的計算時間以圖的頂點數的一個線性函數為上界。

    例如:DMP算法

    應用

    • 印制電路板
    • 礦洞中的軌道部署與鐵路軌道部署
    • 場地布局中的鄰接關系:在圖書館、醫院、商業區等場景進行布局時,希望確保某些區域與另一些區域相鄰
    • 運籌學中指定兩區域鄰接關系,并且指定兩者的距離,在盡可能滿足距離約束的前提下,所有距離之和最小

    分析總結

    一個圖可以畫成任意兩條邊都不相交的樣子

    隱私需求

    許多電路排版設計商業機密,對于所需計算量較大的復雜電路排版需要在隱私下進行計算

    與運籌學相互結合實現在隱私條件下的高效分配

    距離與連通性

    術語

    結點的偏心距: 該節點與它相距最遠的結點間的距離

    圖的半徑(radius): 所有節點中最小偏心距

    圖的中心(center): 具有最小偏心距的結點所成集合

    圖的邊界(boundary): 具有最大偏心距的結點所成集合

    圖的直徑(diameter): 所有結點中的最大偏心距

    割點: 若G是連通圖, 刪除其中某結點之后G變為非連通圖, 被刪除的結點即割點.(對非連通圖來說, 刪除某節點之后增加了連通分量數目也稱為割點)

    割邊(橋): 刪除某邊之后連通分量數目增加, 該邊為割邊.

    圖的點連通度: 把圖變為非連通圖或者平凡圖至少需要刪除的結點數目

    圖的點割集: 把圖變成非連通圖所需要刪除的結點組成的集合.

    應用

    • F-圖:運用F-圖對公路系統進行建模,不同的應急設施應放置在相應盡可能遠的地方。例如:當消防車和救護車同時針對不同地點運作時,使用F-圖減少途中干擾的可能性(表示中心節點相距盡可能的遠)
    • 網絡可靠性:通信網等對某個組成部分崩潰的容忍度

    分析總結

    多用于統籌規劃與系統可靠性檢驗

    隱私需求

    在隱私訴求下,對系統進行結構檢測與可信性分析;在隱私訴求下,實現系統優化布局

    數據結構與算法

    圖是一種復雜的非線性結構。

    在線性結構中,數據元素之間滿足唯一的線性關系,每個數據元素(除第一個和最后一個外)只有一個直接前趨和一個直接后繼;

    在樹形結構中,數據元素之間有著明顯的層次關系,并且每個數據元素只與上一層中的一個元素(parent node)及下一層的多個元素(孩子節點)相關;

    而在圖形結構中,節點之間的關系是任意的,圖中任意兩個數據元素之間都有可能相關。

    鄰接矩陣

    對于鄰接矩陣,一般是針對稠密圖,比如完全圖,它使用一個二維數組表示,此時空間需求為 V2V^2V2,如下圖是一個鄰接矩陣

    對于A[u][v]=valueA[u][v]=valueA[u][v]=value,表示頂點u和v連接的邊

    對于無向圖, value=1value=1value=1表示頂點uuuvvv有一條邊連接,同時A[v][u]=1A[v][u]=1A[v][u]=1

    對于有向圖,value=1value=1value=1表示以uuu為起點,vvv為終點的邊

    對于有權圖,value=weightvalue=weightvalue=weight為權值,可以使用很大或很小的權值表示不存在的邊,如0、infinity

    鄰接矩陣刪除和插入邊時間為O(1)

    鄰接表

    一般來說針對稀疏圖,該方式使用一個鄰接表數組list[V]list[V]list[V]表示圖,也就是對于每個頂點,使用一個表存放與該頂點鄰接的所有頂點,一共有VVV個頂點,空間需求為V+EV+EV+E,鄰接表的實例如下圖:

    如果邊有權值,可以在表中每一個單元額外存儲權值信息,可以使用一個Pair結構體表示

    如上圖,圖G實際是一個鄰接表數組,橫向存儲的頂點是與一個頂點鄰接的,該組合為一個鄰接表,整體上可以使用一個數組,鄰接表根據使用不用的語言實現可以有不同的選擇:

    • 數組或表,如vector、list,此時允許平行邊或重邊和自環邊,查詢時間為O(V),插入時間為O(1)
    • 樹,tree(stl set),不允許平行邊,查詢時間和插入時間都為O(logV)
    • 散列表,hashtable,無序,不允許平行邊,插入查詢時間為O(1)

    圖支配理論

    支配集:設SSS是圖GGG的結點組成的集合,如果G的每一個結點要么在S中要么與S中的結點相鄰,則S是G的支配集

    最小支配集:如果支配集S的任意真子集都不是支配集,則稱S為極小支配集,元素數目最小的支配集叫做最小支配集

    獨立支配集:支配集S中的結點互不相鄰

    應用:任務指派,校車路線安排,通訊網絡,無線電臺布局,社群網絡理論和地面測量

    知識內容具體算法應用經典問題
    圖基本概念與算法圖的表示、圖的遍歷(廣度+深度)、圖的環或圈檢測、拓撲排序算法構成圖論的基本內容,存儲,基本遍歷搜索與拓撲排序遍歷搜索,處理有前后關聯的任務安排
    距離與連通性最短路徑算法、 圖連通性判斷算法路徑規劃、統籌規劃與系統可靠性檢驗路徑規劃,設施布局,網絡可靠性檢測
    圖著色解決涂色問題(Welch-Powell算法)解決資源有限和其他約束條件下的分配問題課程表問題,安全裝箱問題,地圖著色問題,信道分配問題
    可平面性判斷是否為平面圖(DMP算法,平面嵌入的灌木生長算法,PFA,st編碼算法)一個圖可以畫成任意兩條邊都不相交的樣子,多用于工程規劃領域印制電路板,道路布局
    歐拉圖與哈密頓圖求解歐拉回路(Hierholzer、Fleury、DFS搜索)、判別歐拉回路,求解哈密頓圈問題是否/如何遍歷所有路徑/節點并避免重復中國郵遞員問題,七橋問題
    有向圖與網絡最大流算法(2F算法,分層算法,Edmond-Karp 算法),極大流算法,有上下界網絡最大流算法,有供需要求的網絡流算法優化調度分配交通網絡調度
    樹與二分圖最小生成樹(DFS+BFS),最優樹算法(Kruskal算法)、有序二元樹幾乎所有圖論都離不開樹Huffman編碼;最佳追捕問題
    匹配理論匈牙利算法、求最佳匹配的有效算法、KM算法在匹配與許配問題中進行最優化處理BernoulliEuler錯插信箋問題;Hall婚配定理;應聘問題
    圖支配問題支配樹構造(Lengauer Tarjan 算法)對影響與覆蓋問題的數學抽象皇后問題,中心臺站選址

    隱私需求

    隱私分析

    • 數據隱私需求
    • 圖論相關的運算需求

    參與圖論運算的數據有

    • 結點(集合)
    • 路徑(集合)
    • 權重值(集合)
    • 圖形組合

    圖論相關運算

    • 最短路徑?/最小花費?
    • 路徑規劃?
    • 事物安排?
    • 優化調度/資源分配?
    • 最大流量?

    路徑相關的隱私計算需求 交易圖譜相關的隱私計算需求 社會關系網相關的隱私計算需求

    知識內容具體算法應用經典問題隱私計算需求
    圖基本概念與算法圖的表示、圖的遍歷(廣度+深度)、圖的環或圈檢測、拓撲排序算法構成圖論的基本內容,存儲,基本遍歷搜索與拓撲排序遍歷搜索,處理有前后關聯的任務安排在隱私環境下的遍歷搜索
    距離與連通性最短路徑算法、 圖連通性判斷算法路徑規劃、統籌規劃與系統可靠性檢驗路徑規劃,設施布局,網絡可靠性檢測,人際關系連接在隱私背景下的最短路徑選擇與連通性判定
    圖著色解決涂色問題(Welch-Powell算法)解決資源有限和其他約束條件下的分配問題課程表問題,安全裝箱問題,地圖著色問題,信道分配問題在隱私背景下的資源最優化安排
    可平面性判斷是否為平面圖(DMP算法,平面嵌入的灌木生長算法,PFA,st編碼算法)一個圖可以畫成任意兩條邊都不相交的樣子,多用于工程規劃領域印制電路板,道路布局例如電路板布局,在交付設計圖時保護信息
    歐拉圖與哈密頓圖求解歐拉回路(Hierholzer、Fleury、DFS搜索)、判別歐拉回路,求解哈密頓圈問題是否/如何遍歷所有路徑/節點并避免重復中國郵遞員問題,七橋問題在隱私環境下的特殊遍歷
    有向圖與網絡最大流算法(2F算法,分層算法,Edmond-Karp 算法),極大流算法,有上下界網絡最大流算法,有供需要求的網絡流算法優化調度分配交通網絡調度例如隱私匿名交易過程中的優化調度
    樹與二分圖最小生成樹(DFS+BFS),最優樹算法(Kruskal算法)、有序二元樹幾乎所有圖論都離不開樹鐵路網規劃,Huffman編碼;最佳追捕問題在隱私背景下的最小生成樹問題
    匹配理論匈牙利算法、求最佳匹配的有效算法、KM算法在匹配與許配問題中進行最優化處理BernoulliEuler錯插信箋問題;Hall婚配定理;應聘問題隱私背景下的匹配問題
    圖支配問題支配樹構造(Lengauer Tarjan 算法)對影響與覆蓋問題的數學抽象皇后問題,中心臺站選址在隱私背景下的影響與覆蓋問題

    參考文獻

    主要參考:

    書籍

    《圖論》–王樹禾

    《A friendly introduction to graph theory》(《圖論簡明教程》)

    博客:

    https://blog.51cto.com/nxlhero/1213947

    http://www.srcmini.com/1635.html

    https://oi-wiki.org/graph/euler/

    https://juejin.cn/post/6924668410416791566

    https://zhuanlan.zhihu.com/p/34442520

    https://zhuanlan.zhihu.com/p/77766801

    https://zhuanlan.zhihu.com/p/76544669

    https://www.docin.com/p-436994535.html

    https://www.cnblogs.com/dragonir/p/6011561.html

    總結

    以上是生活随笔為你收集整理的图论知识及其应用初步调研的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。