Thuật toán nhanh tính toán tập thuộc tính lõi của bảng quyết định dựa vào vùng dương
Tóm tắt
Tính toán tập (thuộc tính) lõi của bảng quyết định là một nội dung nghiên cứu quan trọng của lý
thuyết tập thô. Một số học giả đã xây dựng thuật toán tính toán tập lõi dựa vào vùng dương và sử dụng ma
trận phân biệt. Độ phức tạp của thuật toán này là
O C U . Bài báo này nhằm trình bày một thuật toán
mới cho phép làm giảm độ phức tạp của thuật toán. Dựa vào vùng dương, chúng tôi định nghĩa ma trận phân
biệt đơn giản hóa và tập lõi tương ứng. Chúng tôi chứng minh rằng tập lõi này tương đương với tập lõi xác
định thông qua ma trận phân biệt nguyên thủy. Vì việc xác định phân hoạch U/C là chìa khóa để tính toán
ma trận phân biệt đơn giản hóa, một thuật toán nhanh tính U/C được thiết kế sử dụng thuật sắp thứ tự theo
cơ số. Độ phức tạp của thuật toán là O C U . Sử dụng thuật toán nhanh xác định U/C và ma trận phân
biệt đơn giản hóa, một thuật toán mới xác định tập lõi dựa vào vùng dương được xây dựng. Độ phức tạp của
thuật toán mới này được giảm thiểu và là
Tóm tắt nội dung tài liệu: Thuật toán nhanh tính toán tập thuộc tính lõi của bảng quyết định dựa vào vùng dương
52(4): 41 - 46 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 1 THUẬT TOÁN NHANH TÍNH TOÁN TẬP THUỘC TÍNH LÕI CỦA BẢNG QUYẾT ĐỊNH DỰA VÀO VÙNG DƢƠNG – ) Phạm Quang Dũng (Trường Cao đẳng Giao thông vận tải) Tóm tắt Tính toán tập (thuộc tính) lõi của bảng quyết định là một nội dung nghiên cứu quan trọng của lý thuyết tập thô. Một số học giả đã xây dựng thuật toán tính toán tập lõi dựa vào vùng dương và sử dụng ma trận phân biệt. Độ phức tạp của thuật toán này là 2 O C U . Bài báo này nhằm trình bày một thuật toán mới cho phép làm giảm độ phức tạp của thuật toán. Dựa vào vùng dương, chúng tôi định nghĩa ma trận phân biệt đơn giản hóa và tập lõi tương ứng. Chúng tôi chứng minh rằng tập lõi này tương đương với tập lõi xác định thông qua ma trận phân biệt nguyên thủy. Vì việc xác định phân hoạch U/C là chìa khóa để tính toán ma trận phân biệt đơn giản hóa, một thuật toán nhanh tính U/C được thiết kế sử dụng thuật sắp thứ tự theo cơ số. Độ phức tạp của thuật toán là O C U . Sử dụng thuật toán nhanh xác định U/C và ma trận phân biệt đơn giản hóa, một thuật toán mới xác định tập lõi dựa vào vùng dương được xây dựng. Độ phức tạp của thuật toán mới này được giảm thiểu và là ' osax O C / ,pm U U C O C U . Từ khóa: Tập thô, Vùng dương, Ma trận phân biệt đơn giản hóa, Tập lõi, Độ phức tạp. Mở đầu Lý thuyết tập thô [1], do Pawlak đề xuất năm 1982, là một công cụ toán học mới để xử lý thông tin không chính xác, không chắc chắn hay tri thức mờ. Đến nay, lý thuyết tập thô đã và đang được ứng dụng rộng rãi trong nhiều lĩnh vực: trí tuệ nhân tạo, nhận dạng mẫu, khai phá tri thức và khám phá thông minh các luật quyết định. Tính toán tập (thuộc tính) lõi của bảng quyết định là một nội dung nghiên cứu quan trọng của lý thuyết tập thô. Cho đến nay, nhiều tác giả đã nghiên cứu đưa ra các thuật toán khác nhau tính toán tập lõi, trong đó có các thuật toán dựa vào vùng dương và sử dụng ma trận phân biệt. Trong [3], Hu đã đề xuất một thuật toán tính toán tập lõi dựa vào ma trận phân biệt với độ phức tạp là 2 O C U . Trong bài này, để giảm thiểu độ phức tạp của thuật toán tính toán tập lõi, trước tiên chúng tôi đưa ra định nghĩa về ma trận phân biệt đơn giản hóa và định nghĩa tập lõi tương ứng. Chúng tôi chứng minh rằng tập lõi này tương đương với tập lõi xác định thông qua ma trận phân biệt nguyên thủy. Vì việc xác định phân hoạch U/C là bước chính trong quá trình tính toán ma trận phân biệt đơn giản hóa, một thuật toán nhanh tính U/C được thiết kế sử dụng thuật sắp thứ tự theo cơ số. Độ phức tạp của thuật toán là O C U . Sử dụng thuật toán nhanh xác định U/C, ma trận phân biệt đơn giản hóa, một thuật toán mới xác định tập lõi dựa vào vùng dương được xây dựng. Độ phức tạp của thuật toán mới này được giảm xuống là ' osax O C / ,pm U U C O C U , trong đó ' ospU là tập các đại diện của các lớp tương đương sinh bởi phân hoạch U/C. I.Ma trận phân biệt đơn giản hóa dựa vào vùng dƣơng. Định nghĩa 2.1. [1]. Bảng quyết định là một bộ tứ , , , ,S U C D V f , trong đó 1 2, ,..., nU x x x là tập các đối tượng, 1 2, ,..., rC c c c là tập các thuộc tính điều kiện, D là tập các thuộc tính quyết định, C D ; a a C D V V , trong đó aV là miền giá trị của thuộc tính a; : ( )f U C D V là hàm thông tin cho biết giá trị của mỗi thuộc tính tại mỗi đối tượng, nghĩa là , , , aa C D x U f x a V . Mỗi tập con thuộc tính P C D xác định một quan hệ nhị phân, gọi là quan hệ không phân biệt IND P : , | , , ,IND P x y U U a P f x a f y a (1) 52(4): 41 - 46 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 2 Dễ thấy, IND P là quan hệ tương đương. Ta ký hiệu phân hoạch của U sinh bởi IND P là /U IND P hoặc ngắn gọn hơn là /U P . Mỗi tập con | , , , p x y U a P f x a f y a trong /U P là một lớp tương đương. Định nghĩa 2.2. [1]. Cho bảng quyết định , , , ,S U C D V f , X U và tập con thuộc tính R C D . Tập _ | / ,i i iR X R R U R R X được gọi là xấp xỉ dưới của X theo R. Định nghĩa 2.3. [1]. Cho bảng quyết định , , , ,S U C D V f Giả sử 1 2/ , ,..., kU D D D D , 1 2/ , ,..., mU C C C C . Tập cPOS D xác định theo công thức / _ i c i D U D POS D C D được gọi là vùng dương của D theo C. Nếu CPOS D U thì S được gọi là bảng quyết định nhất quán, trường hợp ngược lại là không nhất quán. Định lý 2.1. Cho bảng quyết định , , , ,S U C D V f , ta có / / 1 C X U C X D POS D X . Chứng minh: Suy ra trực tiếp từ Định nghĩa 2.3. Định nghĩa 2.4. Cho bảng quyết định , , , ,S U C D V f . Giả sử 1 2 ' ' '... tC i i ic c c POS D x x x (theo Định lý 2.1),trong đó 1 2 ' ' ' ', ,..., ti i i x x x U và ' / 1 si C x D 1,2,...,s t . Ký hiệu 1 2 ' ' ' ' os , ,..., tp i i iU x x x , ' ' ' osneg pU U U . Khi đó ' ' , , , ,S U C D V f được gọi là bảng quyết định đơn giản hóa. ' ' ' 1 2/ , ,..., mc c c U C x x x , ' ' ' ' 1 2, ,..., mU x x x và Định nghĩa 2.5. [4]. Cho bảng quyết định , , , ,S U C D V f . Với thuộc tính c C , nếu C C c POS D POS D thì c được gọi là không cần thiết trong S, ngược lại c là cần thiết. Tập tất cả các thuộc tính cần thiết trong S được gọi là tập lõi, ký hiệu là ( )Core C . Định nghĩa 2.6. [4]. Cho bảng quyết định , , , ,S U C D V f và tập thuộc tính P C . Nếu mọi c P là cần thiết trong S thì P được gọi là độc lập. Định nghĩa 2.7. [4]. Cho bảng quyết định , , , ,S U C D V f . Tập thuộc tính R C được gọi là một rút gọn của tập thuộc tính điều kiện C nếu R là độc lập và ( ) ( )R CPOS D POS D . Nói cách khác, R là rút gọn nếu nó là tập tối tiểu thỏa mãn ( ) ( )R CPOS D POS D . Định lý 2.2. [4]. Cho bảng quyết định , , , ,S U C D V f . Gọi Red C là tập tất cả các rút gọn của C, ta có ( ) B Red C Core C B . Định nghĩa 2.8. Cho bảng quyết định , , , ,S U C D V f . ' ', , , ,S U C D V f là bảng quyết định đơn giản hóa từ S. Ma trận ' ' ' 2 i j M m với các phần tử i jm xác định bởi: (2) được gọi là ma trận phân biệt đơn giản hóa dựa vào vùng dương. ' ' ' ' ' ' ' ' ' posi / , , , nÕu vµ chØ nÕu x hoÆc x thuéc ; , , , x , , nÕu vµ thuéc U trong trêng hîp ngîc l¹i ' i j i j pos i j i j j i j a a C f x a f x a U m f x a f x a f D f x D x x (2) Định nghĩa 2.9. Cho bảng quyết định , , , ,S U C D V f và ma trận phân biệt được đơn giản hóa dựa vào vùng dương ' ' ' 2 i j M m Khi đó, SDCore C được gọi là tập lõi của ' 2M , trong đó ' ' ' ' ' 2| , ,i j i jSDCore C a a C m a m M 52(4): 41 - 46 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 3 Định lý 2.2. Cho bảng quyết định , , , ,S U C D V f , ta có: SDCore C Core C . Chứng minh: Với bất kỳ a SDCore C tồn tại ' ix và ' jx sao cho ' 'i jm a . Theo định nghĩa 2.8, cả ' ix và ' jx đều thuộc ' ospU , hoặc một trong các phần tử này thuộc ' ospU còn phần kia thuộc ' negU . Nếu cả ' ix và ' jx đều thuộc ' ospU thì ' ' ' i j iC C C a x x x ( do 'i Cx và ' j C x là không thể phân biệt được trừ phi sử dụng thuộc tính a.), trong khi ' ', ,i jf x D f x D , do đó ' ' i i C aC C x x POS D . Mặt khác do ' 'i i CC Cx x POS D , ta có CC a POS D POS D , nên theo Bổ đề 2.1, a Core C . Nếu một trong ' ix và ' jx thuộc ' ospU , thì phần tử còn lại sẽ thuộc ' negU . Giả sử ' ' i posx U và ' ' j negx U , ta có ' ' ' i j iC C C a x x x . Vì ' 'j negx U nên ' 'i i C aC Cx x POS D , do đó ' i C aC x POS D . Mặt khác, vì ' i CC x POS D nên CC aPOS POS D . Theo Bổ đề 2.1, ta có a Core C . Vì a được lựa chọn bất kỳ, ta có SDCore C Core C . Với bất kỳ a Core C , theo Bổ đề 2.1, đều có C C a POS D POS D . Do vậy, tồn tại ' ' ix posU sao cho ' i C aC a x POS D . Suy ra, sẽ có ít nhất một đối tượng ' i x thỏa mãn ' ' ' ' ' ',i i j i jC a C x x x x x U và ' ', ,i jf x D f x D . Vì ' ' j i C x x , ta có ' ', ,i jf x a f x a . Lại vì ' ' j j C a x x , do đó ' ', , -i jf x b f x b b C a . Nếu ' ' j negx U , theo Định nghĩa 2.7, ta có ' 'i jm a . Còn nếu ' ' j posx U , thì vì ' ', ,i jf x D f x D , theo Định nghĩa 2.7, ta có ' 'i jm a . Do đó, a SDCore C . Vì a được lựa chọn tùy ý, suy ra SDCore C Core C . II.Thuật toán nhanh tính bảng quyết định đơn giản hóa. Chìa khóa để lập được bảng quyết định đơn giản hóa là việc xác định phân hoạch U/C. Độ phức tạp của thuật toán thông thường xác định U/C là 2 O C U . Để làm giảm thiểu hơn nữa độ phức tạp, trong bài báo này, chúng tôi sử dụng ý tưởng của thuật sắp xếp theo cơ số. Bằng cách này, độ phức tạp của thuật toán xác định U/C được giảm xuống là O C U . 1. Thuật toán 1: Tính bảng quyết định đơn giản hóa Đầu vào: Bảng quyết định , , , ,S U C D V f , 1 2, ,..., nU x x x , 1 2, ,..., rC c c c Đầu ra: ' ' os , p negU U . Bước 1: Tìm giá trị cực đại iM và giá trị cực tiểu i m của hàm , 1,2,...,j if x c j n với mỗi 1,2,...,ic i r . Bước 2: Lưu lần lượt các đối tượng 1 2x , ,..., nx x theo thứ tự tĩnh ban đầu và tạo con trỏ đầu bảng trỏ đến 1x .Bước 3: for (i =1, i < r+1, i ++)3.1. “Sắp xếp” lần thứ i: xây dựng 1i iM m hàng đợi rỗng. Đặt kfront và kend 0,1,..., i ik M m tương ứng là con trỏ đầu và con trỏ cuối của hàng đợi thứ k. Theo thứ tự, phân bổ mỗi đối tượng x U của dãy tĩnh ban đầu vào hàng đợi thứ , i if x c m . 2. “Gom lớp” lần thứ i: Cho con trỏ đầu trỏ đến con trỏ đầu của hàng đợi khác rỗng đầu tiên, chỉnh 52(4): 41 - 46 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 4 sửa lại con trỏ cuối của mỗi hàng đợi khác rỗng sao cho nó trỏ đến đối tượng đầu tiên của hàng đợi khác rỗng tiếp theo. Bước 4: Giả sử dãy thu được sau bước 3 là ' ' ' 1 2, ,..., nx x x ; ' 11; ;tt B x ' ' ' -1 for 2, 1, if , , , 1,2,..., ;j i j i i t t j j j n j f x c f x c c C i r B B x ' t else t=t+1;B ;jx Bước 5: ' '; ;pos negU U for (i=1, i < t+1, i++) if ( , ) ( , ) , i f x D f y D x y B lấy đối tượng đầu tiên của iB nhập vào ' ospU ; else lấy đối tượng đầu tiên của iB nhập vào ' negU ; Độ phức tạp của thuật toán 1 là: O C U . III.Thuật toán Nhanh tính toán tập lõi Theo Định nghĩa 2.7., Định nghĩa 2.8., Định lý 2.2. và Thuật toán 1, ta có thể thiết kế một thuật toán sau đây cho việc tính toán tập lõi dựa vào vùng dương. 1.Thuật toán 2: Thuật toán cho việc tính toán tập lõi Đầu vào: Bảng quyết định , , , ,S U C D V f , 1 2, ,..., nU x x x , 1 2, ,..., rC c c c Đầu ra: Core(C) Sử dụng Thuật toán 1 tính bảng quyết định đơn giản hóa, thu được: ' ' 1 2 1 2, ,..., ; , ,..., ;pos s neg sU y y y U z z z Cho ( ) ;core C for 1, ,i i s i for 1, 1,j j s j if , ,i jf y D f y D { ; 0;B flag for 1, 1,k k r k { if , ,i k j kf y c f y c { ; ; kB B c flag } if (flag > 1) break; } if (flag = = 1) core(C) = core(C) B ; } for 1, 1,i i s i for 1, 1,j i j t j { ; 0;B flag for 1, 1,k k r k { if , ,i k j kf y c f z c { ;kB B c flag } if (flag >1) break ; } if ( flag==1) ( ) ( ) ;core C core C B } Độ phức tạp của thuật toán 2 là:O U . IV.Ví dụ Trong mục này, ta minh họa tính hiệu quả của thuật toán mới thông qua một ví dụ. Xét bảng quyết định sau đây (Bảng 1): a b c d D X1 2 1 2 1 0 X2 2 2 2 1 1 X3 2 1 2 1 0 X4 2 3 2 3 0 X5 2 2 2 1 1 X6 3 1 2 1 0 X7 1 2 3 2 2 X8 4 3 1 2 3 X9 3 1 2 1 1 X10 1 2 3 2 2 X11 3 1 2 1 1 X12 4 3 1 2 3 X13 4 3 4 2 1 X14 1 2 3 2 3 X15 4 3 4 2 2 52(4): 41 - 46 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 5 Bảng 1: Bảng quyết định 1 Với 15 đối tượng của U, phân hoạch U/{a,b,c,d} được tính toán theo thuật toán 1. Tiến trình xử lý như sau: 1. Đặt 1 2 3 4, , ,c a c b c c c d . Sau bước 1 của thuật toán 1 ta có: 1 1 2 2 3 3 4 44, 1; 3, 1; 4, 1; 3, 1;M m M m M m M m 2. Sau theo bước 2 của Thuật Toán 1( Tính toán bảng quyết định đơn giản hoá) thu được: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; ;X X X X X X X X X X X X X X X 3. Kết quả “sắp xếp” lần thứ 1 là: 7 10 14 1 2 3 4 5 6 9 11 8 12 13 14 0 0 ; 1 1 ; 2 2 ; 3 3 ; front X X X end front X X X X X end front X X X end front X X X X end 4. Kết quả “gom lớp” lần thứ 1 là: 7 10 14 1 2 3 4 5 6 9 11 8 12 13 15; ; ;X X X X X X X X X X X X X X X 5. Kết quả “sắp xếp” lần thứ 2 là: 1 3 6 9 11 7 10 14 2 5 4 8 12 13 15 0 0 ; 1 1 ; 2 2 ; front X X X X X end front X X X X X end front X X X X X end 6. Kết quả “gom lớp” lần thứ 2 là: 1 3 6 9 11 7 10 14 2 5 4 8 12 13 15; ; ;X X X X X X X X X X X X X X X 7. Kết quả “sắp xếp” lần thứ 3 là: 8 12 1 3 6 9 11 2 5 4 7 10 14 13 15 0 0 ; 1 1 ; 2 2 ; 3 3 ; front X X end front X X X X X X X X end front X X X end front X X end 8. Kết quả “gom lớp” lần thứ 3 là: 8 12 1 3 6 9 11 2 5 4 7 10 14 13 15; ; ;X X X X X X X X X X X X X X X 9. Kết quả “sắp xếp” lần thứ 4 là: 1 3 6 9 11 2 5 8 12 7 10 14 13 15 4 0 0 ; 1 1 ; 2 2 ; front X X X X X X X end front X X X X X X X end front X end 10. Kết quả “gom lớp” lần thứ 4 là: 1 3 6 9 11 2 5 8 12 7 10 14 13 15 4; ; ;X X X X X X X X X X X X X X X 11. Kết quả thu được sau bước 4 của thuật toán 1 là: 1 3 6 9 11 2 5 8 12 7 10 14 13 15 4, , , , , , , , , , , , , , ;X X X X X X X X X X X X X X X 12. Kết quả sau bước 5 của thuật toán 1 là: ' ' os 1 2 8 4 6 7 13, , , ; , , ;p negU X X X X U X X X 13. Kết quả sau bước 2 của thuật toán 2 là: ;core C b 14. Kết quả sau bước 3 của thuật toán 2 là: , , ;core C b a c V.Kết luận 52(4): 3 - 12 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 6 Cho đến nay, theo chúng tôi được biết, thuật toán hiện hành tốt nhất tính toán tập lõi của một bảng quyết định dựa vào vùng dương, sử dụng ma trận phân biệt có độ phức tạp là ax O C / log , Cm U C U O C U POS D . Trong bài báo này, chúng tôi đã trình bày một thuật toán mới có độ phức tạp thấp hơn. Dựa vào vùng dương, chúng tôi đã định nghĩa ma trận phân biệt đơn giản hóa và tập tập lõi tương ứng. Chúng tôi đã chứng minh được tập lõi này là tương đương với với tập lõi xác định thông qua ma trận phân biệt nguyên thủy (Đã chứng minh ở Định lý 2.2). Để xác định phân hoạch U/C, chìa khóa để tính toán ma trận phân biệt đơn giản hóa, một thuật toán nhanh đã được xây dựng, sử dụng thuật sắp thứ tự theo cơ số. Độ phức tạp của thuật toán này là O C U . Sử dụng thuật toán nhanh xác định U/C và ma trận phân biệt đơn giản hóa, một thuật toán mới xác định tập lõi dựa vào vùng dương được đề xuất. Độ phức tạp của thuật toán tính lõi mới này được giảm thiểu và là ' osax O C / ,pm U U C O C U . Tính hiệu quả của thuật toán cũng đã được minh họa thông qua một ví dụ cụ thể. Tài liệu tham khảo: [1].Z.Pawlak, “Rough Sets”, International Journal of Information and Computer Science, 1982, 11(5), pp.341-356. [2]. A.Skowron, C.Rauszer, “The Discernibility Matrices and Functions in Information Systems”, In: R.Slowinski, (eds.), Intelligent Decision Support Handbook of Applications and Advances of the Rough Sets Theory, 1992, pp. 331-362. [3]. X H. Hu, N. Cercone, “Learning in Relational Databases: a Rough Set Approach”, Computational Intelligence, 1995, 11(2), pp. 323-337. [4].D Y, Ye, Z J. Chen, “A New Difference Matrix and its Methods of Core Finding”, Chinese Journal of Electronics, 2002, 30(7), pp. 1086-1088. [5].J. Zhao, G Y. Wang, and Z F. Wu, “An Efficient Appoarch to Compute the Feature Core”, Mini-Micro Systems, 2003, 24(11), pp. 1950-1953.
File đính kèm:
- thuat_toan_nhanh_tinh_toan_tap_thuoc_tinh_loi_cua_bang_quyet.pdf