簡介
對適用於一般網狀結構數據繪圖的算法來說,力導向算法是一種常被套用的方法。通過對每個節點的計算,算出引力和排斥力綜合的合力,再由此合力來移動節點的位置。執行一次後根據節點新位置算出新的能量值,如同力學概念,能量值越小,表示整個網路越趨於穩定。一般來說能量值越小,網路圖的配置顯示就會越清晰,因此當能量值到達最小值的時候,網狀圖的配置狀態就是我們想要的結果。
特性
這種方法的缺點是不收斂,總是有節點在兩個不同位置上來回振動,雖然不會收斂,但是來回振動時的配置通常也最終可達到某種穩定的狀態,因此實際的執行都以指定執行的次數來決定停止的條件。另外一個問題就是網狀圖的節點數太多時,也無法求得令人滿意的結果。
當開始配置不好的情況下,通常是力導向算法的配置結果也不是很好,所以使用力導向算法通常會配合一個初始配置的算法,以達成較滿意的網狀配置。
多級算法(multilevel algorithm)最重要的是代表節點的選擇,這樣就會直接影響到執行效率和結果。
力導向算法的想法很簡單,且容易使用和修改以滿足需求。我們可更改網狀圖的初始位置以加快收斂,也可根據不同的要求加入不同種類的力,另外,算法過程中雖然沒有特別針對網狀圖的對稱性進行配置,但是當網狀圖中存在對稱關係時也能獲得較好的結果。力導向算法的缺陷是在初始配置不佳的時候所得到的網狀圖也不會很好,所以可根據網狀數據的特性是否選擇該算法。