我正試圖確定最佳搜索情況以與我寫的搜索算法進行比較。我有一組標記爲「必需」的節點和一個標記爲「開始」的節點,其餘標記爲「可選」。我想找到我需要擴展的節點的最佳數量,以便發現所有必需的節點,因爲我的第一個擴展是「開始」節點。開始位置和一組所需節點之間的最小生成樹
- 我相信我正在尋找的是最小生成樹,但修剪了所有不以「必需」節點結尾的分支。這是Steiner tree problem?
- 如果我的圖未加權,那麼Steiner樹的大小和最小生成樹的大小是否一樣?
- 如果有什麼話我可以說關於樹的大小?即類似的東西(最小生成樹大小的大小=平均最短路徑*#所需節點...我不認爲這是真的,但它能很好地計算基於連通性或某物的平均值)。
的幾個注意事項:
- 這不是旅行的銷售問題,因爲我並不需要一個路徑 每個需要的節點之間存在,我只是想探索每個 需要的節點。
- 我是無向圖和加權(或相等地加權爲此事)
- My圖表具有約100所需的節點的平均值,並且甚至數千可選節點
根據定義,如果你運行你的算法,最佳樹將是最小化連接節點的總加權路徑。因此,如果刪除(並且其他路徑保持不變),沿着樹的任何子路徑將是您必須重新創建以重新鏈接所需元素的最佳路徑。 – ninjagecko 2012-04-07 17:18:59