第二章 文獻回顧
2.3 最小集合涵蓋(Minimum Set Cover)
最小集合涵蓋(Minimum Set Cover, MSC)問題為一傳統且重要的最佳化組 合問題。給定一集合 U 內有 n 個元素{u1,u2,…,un},另有 k 個集合{S1,S2,…,Sk},
每個集合包含部份 U 內的元素。最小集合涵蓋問題是在 k 個集合內找出最少的 集合且可以包含所有 U 內的元素。此問題有被廣泛的應用在許多領域上,例如 生物資訊(Doi and Imai, 1997, 1999; Duitama et al., 2009; Huang et al., 2005;
Jabado et al., 2006; Zhao et al., 2005)與作業研究上(Beasley, 1990; Caprara et al., 1999, 2000; Drezner and Hamacher, 2002; Farahani and Hekmatfar, 2009; Lan et al., 2007)。
在生物資訊方面, Berger-Wolf et al.(2005)提出了以孟德爾遺傳法則為基 礎的物種分群問題即是轉換到利用最小集合涵蓋問題上之後透過MSC 的 Greedy 的演算法解決此問題。引子對的選取問題定義為給定 k 個引子(Sets),n 個目標 序列(Elements),要找出最少的引子可以釣出(Hybridize)所有 n 個目標基因。
這個問題也是可被 Model 到集合涵蓋問題並透過一些集合涵蓋的演算法來解決 並應用在疾病的偵測上(Doi and Imai, 1997, 1999; Duitama et al., 2009; Huang et al., 2005; Jabado et al., 2006)。Zhao et al.(2005)定義了最小化 siRNA 涵蓋問題。
siRNA 為 RNA 內的一子字串可以干擾 RNA 來抑制基因的表現(RNAi)。給定 k 個siRNA(小干擾 RNA),α個目標基因(Target Genes)序列與β個非目標基因
(Off-Target Genes)序列的集合。某個 siRNA 是某個目標基因(或非目標基因)
序列的子字串,則此 siRNA 涵蓋(Cover)這個目標基因(或非目標基因)。此 問題是要找出最少的siRNA (Sets)可以涵蓋(Cover)所有的目標基因(Elements)
但是不能涵蓋任何一個非目標基因。也就是說找出的這些 siRNA 可抑制所有的 目標基因。在不考慮非目標基因的部份,此問題同樣可轉換至最小集合涵蓋問題
上 。Zhao et al.(2005)設計了一個 Exact Branch-and-Bound Algorithm 及 Probabilistic Greedy Algorithm 解決此問題並模擬到兩個基因家族(FREP Genes from Biomphalaria Glabrata and the Olfactory Genes from Caenorhabditiselegans)。
在作業研究方面,在此領域通常是將集合涵蓋問題應用至遞送(Delivery)
和路由(Route)問題上。最有名的問題為空服員排班(Airline Crew Scheduling)
問題。此問題假設本研究有 n 個航線(Elements)及 k 個空服員,每個空服員被 要求要服務某些航線的行程(Sets),為找出最少空服員的行程可以服務所有的 航線。Caprara et al. (1999)將此問題轉到最小集合涵蓋問題上用來解決 Italian Railway Company, Ferrovie Dello Stato SPA 的排班,並提出 Lagrangian-Based Heuristic Algorithm。Caprara et al.(2000)之後提出一篇 Survey 文獻來比較多個 正確(Exact)及啟發式(Heuristic)的演算法。最近 Lan et al.(2007)提出一簡 單的啟發式演算法來解最小集合涵蓋問題並用來測試 OR-Library (Beasley, 1990)。另外,一些作業研究上探討的設備配置問題(Facility Location Problem)
也可以被轉換到最小集合涵蓋問題,並有很多演算法用來設計解決這些問題
(Drezner and Hamacher, 2002; Farahani and Hekmatfar, 2009)。
然而,最小集合涵蓋問題已知為NP-Complete (Garey and Johnson, 1979)。
因此,目前為找到多項式時間的正確演算法(Exact Algorithm)是不可能的,除 非P=NP。因此,許多的近似演算法(Approximation Algorithms) (Cormen et al., 2001; Goldsmidt, 1993; Johnson, 1974; Lan et al., 2007; Lovász, 1975; Slavík, 1997)、隨機演算法(Randomized Algorithms) (Haouari, 2002; Vazirani, 2001)、
啟發式演算法(Heuristic Algorithms) (Beasley, 1990; Caprara et al. 1999, 2000;
Ceria, 1998; Lan, 2007)與適當指數時間的近似演算法(Moderately Exponential
19
1996; Beasley and Ornsten, 1992; Björklund, 2009; Caprara et al., 2000; Fomin et al., 2005; Mannino and Sassano, 1995; Rooij and Bodlaender, 2008),上述方法多半是 利用Branch-and-Bound 或 Branch-and-Cut (Balas and Carrera, 1996; Beasley and Ornsten, 1992; Fomin et al., 2005; Mannino and Sassano, 1995; Rooij and Bodlaender, 2008)。在近似演算法方面,Greedy 的演算法可找到近似率為 H(n)(Harmonic number) (Johnson, 1974; Vazirani, 2001),實際的Tight 為 ln n – ln ln n + ln 2 - 1,
也是目前最小集合涵蓋問題最好的近似演算法(Slavík, 1997)。也被證明近似率 不會低於(1- ε) ln n,ε > 0,除非 NP⊂DTIME(nlog log n) (Feige, 1998)。