我們定義3n個頂點,分成3個團(Group),我們定義:
p(vi,vj)爲vi和vj有邊的概率,如果vi,vj屬於同一個團,我們去比較大的概率,否則取比較小的概率。這樣我們定義了一個有3個Group的隨機圖。
如果我們想把這個圖在2D平面上顯示出來,我們希望顯示出來的圖也能夠顯示出這種Group的結構。下面就是我們根據一定算法畫出來的圖:
對於畫圖的問題,我們可以如下定義:
給定一個圖G{V,E},我們的任務是爲每個頂點選擇2D座標vi(x,y),以最小化一個我們定義的能量函數E(V,E)。
首先我們考慮最小化的算法,我們可以用經典的梯度下降法,算法如下:
1. 對頂點vi,i=1,2,......,|V|,隨機生成每個頂點的座標。
2. for t = 1 to T:
for i = 1 to |V|:
計算E相對於vi的梯度下降方向ei,併產生vi的下一個位置 vi(t+1) = vi(t) + alpha * e,alpha是步長
這就是梯度下降法的步驟,當然還可以用很多優化算法,比如共軛梯度法,或者進化計算的方法。下面我們主要考慮如何設計能量函數E,E的設計我們將得到分子結構的啓發。