簡體   English   中英

用1種顏色部分着色圖形

[英]Partially coloring a graph with 1 color

我剛剛開始閱讀圖論,並正在閱讀有關圖着色的信息。 這個問題浮現在我腦海:

我們必須僅用一種顏色為無向圖着色(不完全着色),以使有色節點的數量最大化。 我們需要找到這個最大數量。 我能夠為非循環圖制定一種方法:

我的方法:首先,我們將圖划分為孤立的組件,然后對每個組件執行此操作。 我們創建一個dfs樹,並遍歷它時制作2個dp數組,以使根最后出現:

dp[0][u]=sum(dp[1][visited children])

dp[1][u]=sum(dp[0][visited children])

ans=max(dp[1][root],dp[0][root])

dp[0][i] , dp[1][i] are initialized to 0,1 respectively.

此處0表示未着色,而1表示已着色。

但這對循環圖不起作用,因為我假設沒有訪問過的子級連接。

有人可以指導我正確解決循環圖問題的方法(不是蠻力)嗎? 是否可以修改我的方法,還是我們需要提出其他方法? 像為邊緣最少的節點着色這樣的貪婪方法是否可行?

這個問題也是NP-Hard,也稱為最大獨立集問題

如果對於S每兩個頂點u,v沒有邊(u,v) ,則在圖中稱集合S<=V獨立集合

S的最大大小(即您要尋找的數字)稱為圖形的獨立數 ,不幸的是發現它是NP-Hard。

因此,除非P = NP,否則對於通用圖形,您的算法將失敗。


證明它非常簡單,給定一個圖G=(V,E) ,當且僅當(u,v)創建互補圖G'=(V,E') ,其中(u,v)E'中。不在E

現在,給定圖G ,有大小的集團k當且僅當有一個獨立的集大小的kG' ,使用相同的頂點(因為如果(U,V)是兩個頂點的獨立集,有在E'沒有邊(u,v) ,並且根據定義在E有邊。對獨立集合中的所有頂點重復,則在G有一個派系。

由於派系問題是NP-Hard,因此也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM