Bài viết giới thiệu một số bài toán thuộc lớp NP – khó (NP – Hard) và đề xuất một thuật toán xấp xỉ tìm lời giải cho bài toán tìm tập con lớn nhất, tập con có số phần tử xác định trước. Đối với mỗi bài toán tối ưu tổ hợp, hiện nay có khá nhiều phương pháp hữu hiệu với chi phí khá thấp về thời gian tính toán để tìm lời giải, có thể kể đến như thuật toán xấp xỉ nhanh.
TNU Journal of Science and Technology 226(07): 175 - 181 APPROXIMATION ALGORITHM AND APPLICATION FOR A NP-HARD PROBLEM SOLVING Nguyen Dinh Dung* TNU - University of Information Technology and Communication ARTICLE INFO Received: 23/02/2021 Revised: 24/5/2021 Published: 27/5/2021 KEYWORDS Polynomial-time algorithm Approximation algorithm NP – Hard Euclide space Fast Approximate ABSTRACT In this paper, we introduce some NP-hard problems and present an approximation algorithm to find a cluster (subset) of the largest cardinality and subset of points of a given cardinality There is a radically different way of dealing with difficult optimization problems: solve them approximately by a fast algorithm This approach is particularly appealing for applications where a good but not necessarily optimal solution will suffice Besides, in real-life applications, we often have to operate with inaccurate data to begin Under such circumstances, going for an approximate solution can be a particularly sensible choice Algorithm that is given is a polynomialtime approximation algorithm This algorithm finds a feasible solution to problems when we consider the problem of searching a subset in a finite set of points of Euclidean space THUẬT TỐN XẤP XỈ VÀ ỨNG DỤNG TÌM NGHIỆM BÀI TỐN THUỘC LỚP NP - KHĨ Nguyễn Đình Dũng Trường Đại học Công nghệ thông tin Truyền thông - ĐH Thái Ngun THƠNG TIN BÀI BÁO TĨM TẮT Ngày nhận bài: 23/02/2021 Trong báo này, giới thiệu số tốn thuộc lớp NP – khó (NP – Hard) đề xuất thuật toán xấp xỉ tìm lời giải cho tốn tìm tập lớn nhất, tập có số phần tử xác định trước Đối với toán tối ưu tổ hợp, có nhiều phương pháp hữu hiệu với chi phí thấp thời gian tính tốn để tìm lời giải, kể đến thuật tốn xấp xỉ nhanh Phương pháp ứng dụng rộng rãi để giải tốn mà khơng u cầu địi hỏi phải tìm nghiệm xác, từ liệu đầu vào tốn liệu xấp xỉ Vì tìm thuật tốn xấp xỉ giải tốn có chi phí thời gian tính tốn thấp mà đảm bảo độ xác theo yêu cầu mục tiêu báo cần đạt Theo cách tiếp cận này, chúng tơi xây dựng thuật tốn có độ phức tạp thời gian tính tốn đa thức tốn xét khơng gian Euclide nghiệm tìm có độ xác chấp nhận Ngày hồn thiện: 24/5/2021 Ngày đăng: 27/5/2021 TỪ KHĨA Thuật tốn đa thức Thuật tốn xấp xỉ NP – khó Không gian Euclide Xấp xỉ nhanh Email: dungnd@tnu.edu.vn http://jst.tnu.edu.vn 175 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 175 - 181 Giới thiệu Tìm lời giải cho tốn thuộc lớp tốn NP - khó chủ đề nhiều tác giả nước quan tâm Một toán gọi thuộc lớp tốn NP - khó tốn khơng có thuật tốn thời gian tính đa thức để giải (ngoại trừ trường hợp P=NP), mà có thuật toán giải thời gian hàm mũ [1] Bài toán tìm tập chung lớn tốn thuộc vào lớp tốn có nhiều ứng dụng đa dạng khác nhau, kể đến lĩnh vực học máy [2], [3] Trong lĩnh vực học máy, tiền xử lý liệu bước quan trọng việc giải vấn đề Hầu hết liệu sử dụng vấn đề liên quan đến học máy cần xử lý, làm biến đổi trước thuật tốn học máy huấn luyện liệu Dữ liệu khơng thu thập trực tiếp người lý xoay quanh vấn đề chi phí, sở hạ tầng, người Do đó, liệu bị thiếu sai sót máy móc, thực tế khơng tồn tại thời điểm định thu thập liệu Vì việc tìm tập liệu đủ lớn từ tập liệu thu thập thoả mãn tính chất theo yêu cầu thực tiễn, đồng thời đảm bảo mơ hình học máy khơng bị ảnh hưởng cần thiết Bài tốn tìm tập phát biểu sau [4]: Trong không gian Euclide ℝd , cho tập Χ gồm N phần tử hàm mục tiêu f(U) xác định với tập U⊆ Χ hàm ràng buộc g(U) Cần tìm tập nghiệm tối ưu S cho: f(S)=opt{f(U)| U⊆ Χ , g(U)} Hiện nay, có nhiều thuật tốn tìm lời giải xác cho tốn trên, thuật tốn vét cạn, thuật toán nhánh cận [5],…Tuy nhiên, thuật toán tìm lời giải xác thường gặp phải hạn chế chi phí thời gian tính tốn cao kích thước liệu đầu vào lớn, độ phức tạp thời gian tính tốn thường hàm mũ Vì vậy, báo tập trung vào nghiên cứu thuật toán xấp xỉ để tìm lời giải với độ xác chấp nhận độ phức tạp thời gian tính tốn hàm đa thức Để tìm lời giải xấp xỉ cho tốn, nay, có nhiều kết công bố Năm 1991, Aggarwal [6] đề xuất thuật toán xấp xỉ giải toán với độ phức tạp thời gian đa thức O(dNd+1) Tuy nhiên, trường hợp số chiều không gian lớn chi phí thời gian tính tốn cao Khắc phục nhược điểm này, năm 2012, Kelmanov [7] cơng bố thuật tốn xấp xỉ - với độ phức tạp tính tốn O(dN2), Shenmaier [8] cơng bố thuật tốn đạt độ xác cho trước với độ phức tạp thời gian tính tốn phụ thuộc liên tục vào sai số O(dN 2/ +1 (9 / )3/ ) Năm 2016, Shenmaier [4] đề xuất thuật toán dựa vào lược đồ Voronoi bậc cao với độ phức tạp tính tốn đa thức O(dNd+1) Về thuật toán cho độ phức tạp tính tốn đa thức chi phí thời gian tính tốn cao số chiều khơng gian lớn Một số thuật tốn có thời gian tính tốn chấp nhận độ xác cịn hạn chế [9] Nhằm khắc phục vấn đề này, chúng tơi đề xuất thuật tốn xấp xỉ ½ với độ phức tạp tính tốn đa thức Trước hết chúng tơi trình bày số tốn cụ thể cho lớp toán Một số toán thuộc lớp NP – khó Khái niệm lớp tốn P, NP, NPC, NP – khó [5] Định nghĩa 1: Bài toán định toán mà đầu “Yes” “No” (Đúng/sai, 0/1, chấp nhận/từ chối) Định nghĩa 2: Bài toán A gọi “dẫn được” toán B sau thời gian đa thức có thuật tốn đa thức để giải tốn B có thuật toán đa thức để giải toán A Định nghĩa 3: P lớp tốn giải thuật toán đơn định thời gian đa thức Định nghĩa 4: NP lớp tốn giải thuật tốn khơng đơn định thời gian đa thức http://jst.tnu.edu.vn 176 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 175 - 181 Định nghĩa 5: Một toán định A gọi NP - đầy đủ (NPC) như: - A toán NP - Mọi tốn NP quy dẫn A Định nghĩa 6: Một toán A gọi NP - khó (NP-hard) tồn thuật tốn đa thức để giải kéo theo tồn thuật toán đa thức để giải toán NP Ký hiệu: ||x|| chuẩn Euclide x không gian ℝd |S| số phần tử thuộc S 2.1 Bài tốn tìm tập có số phần tử cho trước Cho trước K ℝ Bài tốn 1A Tìm tập S⊆ Χ cho: f1 ( S ) = x − c(S ) → , (1) xS c( S ) = K x (2) xS |S|=K Bài toán 2A Tìm tập S⊆ Χ cho: (3) f ( S ) = x − c( S ) + xS x → , (4) xX \ S |S|=K (5) 2.2 Bài tốn tìm tập có số phần tử lớn Bài tốn 1B Tìm tập S⊆ Χ cho: S → max , (6) g1 (S ) = x − c(S ) x − c( X ) , 2 xS (7) xX x, X xX c( S ) = x , S xS (0,1) c( X ) = (8) (9) (10) Bài tốn 2B Tìm tập S⊆ Χ cho: S → max , g ( S ) = x − c( S ) + xS (11) x xX \ S x − c( X ) 2 , (12) xX Trên toán đề cập phân tích liệu tài liệu [9] [10] Kết [4] tồn nghiệm toán Dễ thấy toán 1B, 2B toán mà vế phải ràng buộc không phụ thuộc vào tập nghiệm cần tìm mà số khơng âm Các tốn 1B, 2B phát biểu sau: http://jst.tnu.edu.vn 177 Email: jst@tnu.edu.vn TNU Journal of Science and Technology 226(07): 175 - 181 Bài tốn 2.2B: Trong khơng gian Euclide ℝd Cho tập X ={x1, x2,…, xN}, số thực dương B, số nguyên dương M Bài toán đặt liệu có tồn tập S cho S M g i ( S ) B (I =1 i=2) Các kết [11] rằng, toán sau (Bài toán 2.2C) toán NPC toán Clique thuộc lớp NPC quy dẫn Bài toán 2.2C Bài tốn 2.2C (Bài tốn thuộc lớp NPC): Trong khơng gian Euclide ℝd Cho tập X ={x1, x2,…, xN}, số thực dương C, số nguyên dương M Bài toán đặt liệu có tồn tập S cho S = M g i ( S ) C (i =1 i=2) Dễ thấy Bài toán 2.2B 2.2C tương đương, Bài tốn 2.2B thuộc lớp NPC, từ cho thấy Bài toán 1B, 2B toán thuộc lớp NP - khó Thuật tốn xấp xỉ ½ Thuật tốn 1A (thuật tốn tìm lời giải cho Bài tốn 1A) Input: Tập X ={x1, x2,…, xN} số nguyên dương K Output: Tập S for (i=1;i