TNU Journal of Science and Technology
228(15): 215 - 223
http://jst.tnu.edu.vn 215 Email: jst@tnu.edu.vn
APPROXIMATION ALGORITHM BASED ON MULTI-START METHOD
TO SOLVE THE MINIMUM S-CLUB COVER
*
Pham Dinh Thanh
Tay Bac University
ARTICLE INFO
ABSTRACT
Received:
23/11/2023
Covering graph is one of the classical topics in theoretical research in
computer science. For research on the vertex cover of graphs, the
s-club model is widely used in social network analysis, protein interaction
analysis, etc., where the Minimum s-club cover problem has recently
received attention. Although there is an approximate algorithm to solve the
Minimum s-club cover problem, this algorithm can only be applied to the
case s = 2. In addition, the previous algorithm uses a greedy strategy, so the
quality of the obtained solution is not good and depends on the input graph.
Therefore, this study proposes an approximate algorithm based on multi-
start method to solve the Minimum s-club cover problem. To improve the
quality of the received solutions, this study also proposes a greedy strategy
to find the best club at each step, as well as a method for creating and
evaluating neighbors of the current solution. The effectiveness of the
proposed algorithm is demonstrated through comparison with a previously
published approximation algorithm on two different data sets from the
DIMACS library. Experimental results show that the proposed algorithm
finds better solutions in one-third of the tested cases, and the two
algorithms are equal in two-thirds of the tested cases.
Revised:
27/12/2023
Published:
27/12/2023
KEYWORDS
Minimum s-club cover
Multi-start method
Covering graph
Greedy algorithm
Neighbor
đúng để giải bài toán Minimum s-club cover, tuy nhiên, thuật toán này chỉ
được áp dụng cho trưng hp s = 2 và do sử dng chiến lược tham nên chất
ng li gii ca thuật toán phụ thuc nhiều o đồ th đầu o. Do đó,
nghiên cứu này đề xut thuật toán gần đúng dựa trên việc khi to li gii
nhiu lần để giải i toán Minimum s-club cover. Để nâng cao chất lượng
li giải tìm được, nghiên cứu còn đề xut chiến ợc tham lam để tìm club
tt nht ti mỗi bước, cũng như phương pháp tạo lân cận đánh giá lân
cn ca li gii hin ti. Hiu qu ca thuật toán đề xuất được chng minh
qua vic so sánh với thuật toán gần đúng được công b trước đây trên hai
tp d liệu khác nhau từ thư viện DIMACS. Kết qu thc nghim cho thy,
thuật toán đề xuất tìm được li gii tốt hơn trên mt phn ba b d liu
tìm được li gii bằng nhau trên hai phn ba b d liu.
THUẬT TOÁN GẦN ĐÚNG DỰA TRÊN PHƯƠNG THỨC KHI TO
LI GII NHIU LN GIẢI BÀI TOÁN MINIMUM S-CLUB COVER
Phạm Đình Thành
Trường Đại học Tây Bắc
THÔNG TIN BÀI BÁO
TÓM TẮT
Ngày nhận bài:
23/11/2023
Ph
đồ
th
một
trong
các
chủ
đề
bản
trong
nghiên
cứu
thuyết
v
khoa hc máy tính. Đối với hướng nghiên cứu v
ph
tập đỉnh ca đồ
th,
Ngày hoàn thiện:
27/12/2023
mô hình s-club được ng dng nhiu trong phân tích mạng xã hội, phân tích
Ngày đăng:
27/12/2023
tương tác protein,... trong đó bài toán Minimum s-club cover nhận được s
quan tâm nghiên cứu trong thi gian gần đây. Mặc đã thuật toán gần
DOI: https://doi.org/10.34238/tnu-jst.9280
Email: thanhpd05@gmail.com, thanhpd@utb.edu.vn
TNU Journal of Science and Technology
228(15): 215 - 223
http://jst.tnu.edu.vn 216 Email: jst@tnu.edu.vn
1. Gii thiu
Các bài toán bao ph đồ th là một trong nhng ch đề c điển bản của lý thuyết đ th.
Ch đề này cũng đóng một vai trò quan trọng trong nhiều hình toán học cho các ng dng
thc tế khác nhau. hai biến th khác nhau liên quan đến vic bao ph một đồ th bao ph
các cạnh bao phủ các đnh của đồ th. C hai biến th đều thu t rất nhiu s chú ý ca gii
khoa học và là đối tượng nghiên cứu phong phú.
hình s-club được gii thiu bởi Mokken năm 1979 [1] nghiên cứu v vic bao ph tập các
đỉnh của đồ thị. nh s-club một mô hình toán học bản, ban đầu đưc thiết lp phc v
việc nghiên cứu khai phá thông tin trong đ th [2]. Hiện nay, mô hình s-club nhiều ng dng
như: trong việc phân tích các tương tác protein dựa trên việc phân cụm mt mng vi s s-club ít
nht [3]. Một cách tiếp cận tương tự đã được xem xét trong nghiên cu [4] để phân tích mạng xã
hi. hình s-club cũng đã được áp dụng để biến đổi các đồ th thành các cụm ri rc (s-club)
[5][7].
Mô hình s-club nhiu dạng khác nhau, một trong nhng hình đưc nghn cu sm
nhất bài toán tìm 2-club có ch tc ln nht, hay tng quát hơn là bài tn m s-club có
ch thưc ln nht (Maximum s-club). i tn Maximum s-club là NP-Khó khi [8].
Nghn cu [9] cũng ch ra rng vi đồ th đu vào G=(V, E) có th tìm đưc li gii gn
đúng của bài toán Maximum s-club vi h s vi và không th m đưc li
gii gn đúng với h s vi tr khi P = NP trong đó s đỉnh
của đ th đầu o.
Một bài toán khác của hình s-club có yêu cầu tìm một tp nhiu nht r tp con s-club
không giao nhau (mỗi tp s-club có ít nhất 2 đỉnh) sao cho tp này ph nhiu nht s đỉnh của đồ
thị. Điểm khác của bài toán này so với Maximum s-club là các s-club phải không giao nhau. Các
nghiên cứu [10], [11] đã chứng minh bài toán này là NP-Khó.
Thi gian gần đây, hướng tiếp cn ni lỏng ràng buộc của mô hình s-club được áp dụng vào
bài toán phủ đồ th. Mt trong những hình được đề xuất nghiên cứu bài toán Minimum s-
club cover. Bài toán Minimum s-club cover tìm một tp { } các tập con của c đỉnh
của đ th (các tập này có th không giao nhau) sao cho hp của các tập này chứa tt c các đỉnh
của đồ th và đồ th con cm sinh bi mi tp con đường kính không lớn hơn
s. Trong nghiên cứu [12], các tác giả đã xét các trường hp s = 2, 3 của bài toán Minimum s-club
cover đã chỉ ra rằng, bài toán quyết định tương ng với các trường hợp nay NP-Đầy đủ khi
xác định câu trả li của câu hỏi “có thể ph một đồ th vi hai 3-club hay không?”, “có thể ph
một đồ th vi ba 2-club hay không?”. Cũng trong nghiên cứu này các tác giả đã chỉ ra rằng, trên
đồ th G=(V, E) không thể tìm được li gii gần đúng của bài toán Minimum 3-club cover hệ
s vi ; bài toán Minimum 2-club cover không th tìm được li gii gần đúng có hệ
s .
Trong những năm gần đây, nhiều phương pháp gần đúng được đề xuất để giải các bài toán ti
ưu tổ hp. Trong đó, một vài phương pháp s dụng các chiến lược ch giải được mt s bài toán
nhất định rất kđể áp dụng cho các bài toán khác; một s phương pháp dựa trên cấu trúc
được thiết kế để thể s dụng các phương pháp đã đ giải các bài toán khác nhau [13].
Phương pháp khởi to li gii nhiu ln (Multi-Start Methods - MSM) được thiết kế để thể s
dng kết hp nhiều phương pháp khác nhau đ tìm lời giải bài toán. Do kết hp nhiều phương
pháp nên MSM thể khai thác được thế mnh của các thuật toán khác nhau [13]. Thuật toán
MSM lp lại hai bước chính: trong bước 1 thuật toán sẽ khi to li giải; trong bước 2 thuật toán
s ci thin li giải được tạo trong bước 1.
Mặc dù trong nghiên cứu [12], các tác giả đã đề xut thuật toán gần đúng Club-Cover-Approx
(hiệu CCA) tìm được li giải bài toán Minimum 2-club cover vi h s ,
trong đó V là tập đỉnh của đồ th, |V| số đỉnh ca tp V. Ti mỗi bước, thuật toán CCA s tìm
mt 2-club là tp ln nhất các đỉnh được chn. Mặc thuật toán CCA ưu điểm v thi gian
TNU Journal of Science and Technology
228(15): 215 - 223
http://jst.tnu.edu.vn 217 Email: jst@tnu.edu.vn
thc hiện đơn giản v ý tưởng lẫn cài đt thuật toán, tuy nhiên do dựa trên chiến lược tham
lam chất lượng li gii ph thuc nhiều vào bậc của các đỉnh của đ th đầu vào nên chất
ng li giải thuật toán chưa thc s tốt. Bên cạnh đó, thuật toán CCA ch giải bài toán
Minimum 2-club cover, không áp dụng để giải được các bài toán Minimum s-club cover vi
s > 2. Nhm s dụng ưu điểm của phương pháp MSM để ci thin chất lượng li giải tìm đưc,
nghiên cứu này đề xut thuật toán gần đúng (ký hiệu I-MSM) để giải bài toán Minimum s-club
cover vi dựa trên trên phương pháp MSM [14], [15]. Để áp dụng phương pháp MSM
nghiên cứu đã đề xut:
- Chiến lược tham lam để tìm club tốt nht ti mỗi bước.
- Đề xuất phương pháp tạo lân cận ca li gii hin ti.
- Định nghĩa hàm đánh gthể khác hàm mục tiêu của bài toán Minimum s-club cover để
so sánh các lân cận ca li giải đang xét.
Các phần còn lại của nghiên cứu được t chức như sau: phần 2 trình bày về Thuật toán đề
xut; phần 3 trình bày các Kết qu thc nghiệm và đánh giá thuật toán; phần Kết lun của nghiên
cứu được trình bày trong phần 4.
2. Thuật toán đề xut
Phn này s trình bày về bài toán Minimum s-club cover thuật toán đề xut I-MSM giải bài
toán Minimum s-club cover.
2.1. Bài toán nghiên cu
Cho đơn đồ th hướng G=(V, E) vi tập đỉnh V, tp cnh E. Mi tập đỉnh , hiệu
G[S] đồ th con cm sinh bi tp S. Cho hai đỉnh , khoảng cách giữa u v trên đồ th
G, ký hiệu bi là s cạnh trên đường ngn nht ni t u ti v.
Định nghĩa 1 (đường kính của đồ th)
Đường kính của đơn đồ th ng G=(V, E) (ký hiu diam(G)) khoảng cách lớn nht
giữa hai đỉnh bt k ca tp V.
Định nghĩa 2 (s-club)
Cho đơn đồ th hướng G=(V, E) tập con , đồ th con G[U] một s-club nếu
đường kính của G[U] ln nhất là s ( [ ] ).
Định nghĩa 3 (bài toán Minimum s-club cover)
Cho đơn đồ th hướng G=(V, E) và một s nguyên , hãy m tập {
}
nh nht sao cho vi mi i ( ) tập
thì G[Vi] một s-club với mỗi đỉnh
, tn ti mt tp Vj ( ) sao cho
.
a)
b)
Hình 1. Minh ho li giải bài toán Minium s-club cover
(a) đồ th đầu vào và (b)một li giải bài toán Minium 2-club cover
0 minh ho ví dụ v li gii của bài toán Minimum s-club cover vi 0(a) đồ th đầu vào.
Tập các đỉnh V1 = {4, 5, 6, 7, 8} một 2-club do đường đi ngắn nht nối hai đnh bt k ca tp
V1 có độ dài lớn nhất là 2. 0(b) minh ho mt li gii của bài toán Minimum 2-club cover vi hai
tp V1 = {4, 5, 6, 7, 8} V2 = {1, 2, 3}.
TNU Journal of Science and Technology
228(15): 215 - 223
http://jst.tnu.edu.vn 218 Email: jst@tnu.edu.vn
2.2. ợc đồ thuật toán
Thuật toán đề xut thc hin lp lại các bước chính sau đây:
- c 1: S dng thuật toán CCA để khi to li gii của bài toán Minimum s-club cover, li
giải này được đặt là lời gii hin thi.
- c 2: Lp lại các bước sau:
+ Bước 2.1. Tạo danh sách các lân cận tt nht ca li gii hin thời (mô tả chi tiết trong phn
2.3). Nếu không tìm được lân cận nào tốt hơn lời gii hin thi thì thoát khỏi vòng lặp.
+ Bước 2.2. Chn ngẫu nhiên một trong các lời gii t ớc 2.1 đặt làm lời gii hin thi.
+ Bước 2.3. Nếu sau mt s lần xác định trước li gii tt nhất tìm được không được ci thin
thì thoát khỏi vòng lặp.
Thuật toán 1. Mã giả các bước chính của thuật toán I-MSM
Thuật toán được cài đặt để dng khi s lần đánh gđưc s dng lớn hơn số lần đánh giá
được xác định trước. Nghiên cứu này tiến hành thực nghim vi s lần đánh giá ln nhất
50.000 ln.
TNU Journal of Science and Technology
228(15): 215 - 223
http://jst.tnu.edu.vn 219 Email: jst@tnu.edu.vn
Chi tiết n về các bước ca thut toán đề xuất được minh ho bằng giả trong Thuật toán
1 với dòng lệnh th 4 to li gii bng thuật toán CCA. Thuật toán sẽ lp li nhiu nht
|V|*s*
size lần để xét lân cận ca li gii hin thi. Một lân cận được tạo thành bằng cách chọn
ngẫu nhiên một đỉnh ca li giải đang xét di chuyển sang một club khác. Dòng lnh th 12
thc hin việc tìm club tốt nht bằng ch đánh giá các li gii trung gian nhận được tương ng
khi th chuyển đỉnh v sang club khác; nếu tìm được li giải trung gian hợp l thì lời giải này
được đánh giá bằng s đỉnh trong club mà đỉnh v được chuyn ti.
Điểm lưu ý trong thuật toán I-MSM việc so sánh một li gii vi một lân cn mi s đưc
thc hiện thông qua sử dụng hàm đánh giá f(.) tại các dòng lệnh th 5, 15 (trình bày chi tiết trong
phn 0); còn việc so sánh lân cận mi vi li gii tt nhất tìm được tại dòng lệnh th 20 được
thc hiện thông qua số club ca mi li giải (hàm mục tiêu của bài toán Minimum s-club cover).
2.3. Xác định lân cận ca li giải đang xét
Vi mi li giải đang xét, thuật toán I-MSM s lp li việc tìm lân cận mới và cập nht li gii
đang xét nếu lân cận tìm được tốt hơn. Một lân cận ca li giải đang xét được to bằng cách di
chuyn một đỉnh sang một club khác. Phương thức find_best_club(sol, v) tại dòng lệnh th 12
của Lược đồ thuật toán I-MSM s xác định club tt nhất được tạo thành từ li gii sol khi chuyn
đỉnh v ca li giải này sang club khác. Các lân cận được đánh giá thông qua hàm đánh giá được
xác định như sau:
- Nếu lân cận lời gii hp l thì hàm đánh giá bằng s ợng đỉnh trong club đỉnh v
chuyn ti.
- Nếu lân cận là lời giải không hợp l thì hàm đánh giá bằng vô cùng.
- Trong trường hợp có nhiều lân cận là lời gii hp l và có cùng giá trị hàm đánh giá thì thuật
toán sẽ la chn ngẫu nhiên một lân cận.
Thut toán 2 minh hoạ các bước chính của thuật toán find_best_club.
Thuật toán 2. Các bước chính ca thut toán find_best_club
Thuật toán find_best_club đánh giá mỗi club đường nh hơn s bng s ợng đỉnh trong
club đó sẽ dn ti việc ưu tiên lựa chn club có số ợng đỉnh lớn để chuyển đỉnh v ti.