Giả sử dữ liệu số đã được nhóm thành q cụm, tức là
𝑐𝑙𝑢𝑠𝑡𝑒𝑟1, 𝑐𝑙𝑢𝑠𝑡𝑒𝑟2, … , 𝑣à 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑞. Gọi 𝐶𝑖 là tâm của cụm 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑖, và 𝑇𝑖 là tâm chuẩn hóa của 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑖, trong đó 1 ≤ 𝑖 ≤ 𝑞. Khi đó 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑖 = {𝑑1, 𝑑2, … , 𝑑𝑚}, m
90
𝐶𝑖 = (𝑑1+ 𝑑2+ ⋯ + 𝑑𝑚)/𝑚 (2.49) 𝑇𝑖 = (𝐶𝑖− 𝑆)/(𝐿 − 𝑆) (2.50)
Trong đó L đại diện cho dữ liệu số lớn nhất trong chuỗi dữ liệu số và S đại diện dữ liệu số nhỏ nhất trong chuỗi dữ liệu số.
Trường hợp 1: Điều kiện câu truy vấn người dùng thực hiện trích rút trực tiếp lên
các phân khoảng mờ như: Thấp, Trung bình, Cao.
Ví dụ 2.10: “Lấy FOID, Tuổi và Điểm môn Toán” của những học sinh có “Điểm
môn Toán cao”, bảng 2 cho thấy các định nghĩa của các số hạng mờ của thuộc tính Điểm Toán. Theo các giá trị khoảng mờ của “Điểm Toán” thuộc tính được trình bày trong bảng 2, biểu diễn khoảng của giá trị mờ “cao” là [0.55, 1.0]. Bởi vì điều kiện truy vấn của người dùng là "Điểm Toán cao" và biểu diễn khoảngcủa giá trị mờ "cao" là [0.55, 1.0], ta có thể thấy rằng tâm cụm chuẩn hóa 𝑇3 = 0.56 nằm trong khoảng [0.55, 1.0] và kết quả truy vấn là các bộ giá trị thuộc tính của “Điểm Toán” nằm trong cụm 3 như trong bảng 2.8.
Bảng 2.8: Danh sách dữ liệu từ kết quả truy vấn trực tiếp trên các vùng mờ
FOID Tuổi Điểm Toán FOID Tuổi Điểm Toán
FOID30 23 72 FOID46 21 83 FOID38 21 72 FOID35 21 84 FOID15 21 73 FOID56 21 84 FOID2 22 74 FOID13 22 88 FOID48 21 75 FOID36 21 88 FOID28 21 77 FOID8 21 89 FOID42 21 77 FOID31 23 90 FOID4 21 78 FOID52 21 90 FOID50 21 79 FOID59 21 94 FOID10 21 82 FOID47 21 95 FOID33 23 82 FOID58 21 96 FOID45 22 82 FOID26 23 97 FOID41 21 83 FOID27 21 97 FOID44 21 83 FOID60 23 98 FOID24 23 67 FOID16 21 99
91
Trường hợp 2: Đôi khi, người sử dụng hệ thống cơ sở dữ liệu hướng đối tượng mờ
có thể muốn hệ thống xếp hạng các kết quả truy vấn, sao cho chúng không cần phải tìm kiếm trong số các kết quả truy vấn để tìm ra kết quả tốt nhất. Trong tình huống này, hệ thống phải hợp nhất tất cả các cụm được truy xuất để tạo thành một cụm mới có tên là cụm được truy xuất. Chúng ta có thể tính toán mức thành viên cho mỗi dữ liệu trong cụm dữ liệu được truy xuất, trong đó mức thành viên của chuỗi dữ liệu 𝑝𝑖
trong cụm được truy xuất càng lớn, mức độ hài lòng đối với truy vấn của người dùng đối với bộ truy vấn có giá trị thuộc tính truy vấn 𝑝𝑖 càng cao. Giả sử rằng 𝑝1, 𝑝2, …, và
𝑝𝑚 là các phần tử của cụm được truy xuất, trong đó tâm của cụm được truy xuất có ký hiệu là 𝐶𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑. Gọi L và S lần lượt là giá trị lớn nhất và giá trị nhỏ nhất của dữ liệu trong cụm được truy xuất. ta xem xét tình huống sau:
Tình huống: Điều kiện câu truy vấn của người dùng là “Điểm môn Toán là X”, trong
đó 𝑋 ∈ {Cao, khá cao, hơi cao, trung bình, hơi thấp, khá thấp, thấp}. Gọi 𝑝𝑖 là phần tử của cụm truy xuất, trong đó 1 ≤ 𝑖 ≤ 𝑚. Độ thuộc thành viên 𝜇𝑋(𝑝𝑖) của 𝑝𝑖 được tính như sau: 𝜇𝑋(𝑝𝑖) = {1 − |𝑝𝑖− 𝐶𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑| 𝐿 − 𝑆 , 𝑁ế𝑢 𝐿 ≠ 𝑆 1, 𝑁ế𝑢 𝐿 = 𝑆 (2.51)
Giả sử rằng từ dữ liệu trên ta phân thành 11 cụm như sau:
𝑐𝑙𝑢𝑠𝑡𝑒𝑟1 = {22, 23, 23, 24, 25, 25} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟2 = {30, 31, 32, 33, 33, 34, 35} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟3 = {44, 44, 44, 45, 46, 47, 48} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟4 = {53, 53, 53, 54, 54, 54, 55, 55} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟5 = {64, 64} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟6 = {67} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟7 = {72, 72, 73, 74, 75} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟8 = {77, 77, 78, 79} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟9 = {82, 82, 82, 83, 83, 83, 84, 84} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟10 = {88, 88, 89, 90, 90} 𝑐𝑙𝑢𝑠𝑡𝑒𝑟11 = {94, 95, 96, 97, 97, 98, 99}
92
Bảng 2.9: Các giá trị khoảng mờ của thuộc tính Điểm Toán
Giá trị khoảng mờ Tối thiểu Tối đa
Rất cao 0.90 1.0 Cao 0.80 0.90 Khá cao 0.70 0.80 Hơi cao 0.55 0.70 Trung bình 0.44 0.55 Hơi thấp 0.30 0.44 Khá thấp 0.20 0.30 Thấp 0.10 0.20 Rất thấp 0.00 0.10
Xét Bảng 1 và truy vấn của người dùng sau: “FOID, Tuổi và Điểm môn Toán” của những học sinh có Điểm Toán hơi cao. Từ Bảng 2 và các kết quả phân cụm được trình bày trước đây, chúng ta có thể thấy rằng đại diện khoảng của thuật ngữ mờ “hơi cao” là [0.55, 0.70], và có hai tâm của cụm chuẩn hóa 𝑇6 = 0.58 và 𝑇7 = 0.66 nằm trong khoảng này . Do đó, kết quả truy vấn là các bộ giá trị có giá trị thuộc tính của “Điểm Toán” nằm trong cụm 𝑐𝑙𝑢𝑠𝑡𝑒𝑟6 hoặc 𝑐𝑙𝑢𝑠𝑡𝑒𝑟7, trong đó 𝑐𝑙𝑢𝑠𝑡𝑒𝑟6 = {67} và
𝑐𝑙𝑢𝑠𝑡𝑒𝑟7 = {72, 72, 73, 74, 75}, như được hiển thị trong Bảng 2.10.
Bảng 2.10: Danh sách dữ liệu từ kết quả truy vấn trực tiếp trên các vùng mờ cho trường hợp 2.
FOID Tuổi Điểm Toán
FOID24 23 67 FOID30 23 72 FOID38 21 72 FOID15 21 73 FOID2 22 74 FOID48 21 75
Dựa trên kết quả truy vấn của Trường hợp 2, chúng ta có thể thấy rằng kết quả truy vấn là các bộ giá trị có giá trị thuộc tính của “Điểm môn Toán” nằm trong cụm 6 hoặc cụm 7, trong đó 𝑐𝑙𝑢𝑠𝑡𝑒𝑟6 = {67}, 𝑐𝑙𝑢𝑠𝑡𝑒𝑟7 = {72, 72, 73, 74, 75}. Do đó, ta hợp nhất
93
𝑐𝑙𝑢𝑠𝑡𝑒𝑟6, 𝑐𝑙𝑢𝑠𝑡𝑒𝑟7 để tạo thành một cụm mới được gọi là 𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑, trong đó
𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 = {67, 72, 72, 73, 74, 75} và tâm cụm 𝐶𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 của
𝑐𝑙𝑢𝑠𝑡𝑒𝑟𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 có thể được đánh giá như sau:
𝐶𝑟𝑒𝑡𝑟𝑖𝑒𝑣𝑒𝑑 =67 + 72 + 72 + 73 + 74 + 75
6 = 72.17
Gọi L và S lần lượt là giá trị lớn nhất và giá trị nhỏ nhất của dữ liệu trong cụm được truy xuất, trong đó L = 75 và S = 67. Dựa trên Bảng 1 và bằng cách áp dụng công thức (2.51), ta có
Điểm toán của FOID30 là 72 và 𝜇hơi cao(72) = 1 −|72−72.17|
75−67 = 0.98; Điểm toán của FOID38 là 72 và 𝜇hơi cao(72) = 1 −|72−72.17|
75−67 = 0.98; Điểm toán của FOID15 là 73 và 𝜇hơi cao(73) = 1 −|73−72.17|
75−67 = 0.90; Điểm toán của FOID2 là 74 và 𝜇hơi cao(74) = 1 −|74−72.17|
75−67 = 0.77; Điểm toán của FOID48 là 75 và 𝜇hơi cao(75) = 1 −|75−72.17|
75−67 = 0.65; Điểm toán của FOID24 là 67 và 𝜇hơi cao(67) = 1 −|67−72.17|
75−67 = 0.35;
Vì 𝜇hơi cao(67) < 𝜇hơi cao(77) < 𝜇hơi cao(74) < 𝜇hơi cao(73) < 𝜇hơi cao(72), chúng ta có thể nhận được kết quả truy vấn với mức độ hài lòng như trong Bảng 2.11.
Bảng 2.11: Kết quả truy vấn với mức độ thỏa mãn điều kiện truy vấn "Điểm Toán hơi cao"
FOID Tuổi Điểm Toán Thỏa mãn độ thuộc
FOID30 23 72 0.98 FOID38 21 72 0.98 FOID15 21 73 0.90 FOID2 22 74 0.77 FOID48 21 75 0.65 FOID24 23 67 0.35
2.2.4 Thuật toán xử lý truy vấn trên các cụm
94
Thuật toán 2.5: FQINTERVAL (Fuzzy Query Interval). Thực hiện truy vấn
FOQL mờ dựa vào các khoảng mờ.
Đầu vào: Cho C là lớp có các thuộc tính {𝑎1, 𝑎2, … , 𝑎𝑘, 𝑎𝑘+1, … , 𝑎𝑚} tập các đối tượng thuộc lớp C: {Oi, i = 1,…,m}.
Câu truy vấn dạng SELECT … FROM C WHERE Aattr = fvalue THOLD 1.0
Đầu ra:Tập đối tượng Ointerval thỏa mãn với Aattr 𝜃 ∈ fvalue
1: {
2: Thực hiện thuật toán phân cụm EMC
3: Thực hiện thuật toán phân vùng mờ
4: interval[k] chứa các khoảng mờ sau khi thực hiện thuật toán EMC và phân khoảng mờ, k là số khoảng mờ.
5: 𝑶𝒊𝒏𝒕𝒆𝒓𝒗𝒂𝒍 = ∅;// chứa tập các đối tượng thuộc khoảngnào đó
6: For i = 0 to k
7: {
10: If (interval[i].value == fvalue ) then 11: 𝑂𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙 = interval[i] ;
12: }
13: Return 𝑂𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙;
16: }
2.3 Xử lý truy vấn dựa vào đại số gia tử
Trong phần mục này tác giả đề xuất phương pháp xử lý truy vấn mờ dựa trên hướng tiếp cận ĐSGT. Bằng các phương pháp xử lý khác nhau như xác định giá trị chân lý đơn và đa điều kiện, dựa trên cơ sở đó xây dựng bộ truy vấn cho các trường hợp xử
95
lý đơn và đa điều kiện, các kết quả kiểm chứng thông qua lược đồ cơ sở dữ liệu hướng đối tượng mờ [CT1].
2.4 Đánh giá thực nghiệm
Hình 2.11: Thời gian thực thi trong thuật toán
Thời gian thực hiện FQINTERVAL trong RoomBooking ít hơn so với FQSIMMC và FQSEM. Thời gian thực thi của bộ dữ liệu RoomBooking, ProjectManagement và CourseScoresManagement cho FQINTERVAL lần lượt là 3503, 14012 và 14712 (xem trong Bảng 2.12). So với FQSIMMC và FQSEM cho RoomBooking,
ProjectManagement và ManageCourseScores lần lượt là 2045: 2024, 6135: 6072 và 6544: 6555 (xem trong Hình 2.11).
Bảng 2.12: Thời gian thực thi của thuật toán
Fuzzy Dataset Thời gian thực thi của thuật toán
FQSIMMC FQSEM FQINTERVAL
RoomBooking 4045 4001 3503
ProjectManagement 16810 16004 14012
96
Hình 2.12: Đánh giá việc sử dụng bộ nhớ cho các bộ dữ liệu khác nhau
Theo Bảng 2.13, mức sử dụng bộ nhớ của hai thuật toán FQSIMMC và FQSEM lớn hơn so với thuật toán FQINTERVAL. Việc sử dụng bộ nhớ của các thuật toán này cho RoomBooking, ProjectManagement và CourseScoresManagement lần lượt là 896, 2688 và 2867 (xem Hình 2.12). Hai thuật toán FQSIMMC và FQSEM sử dụng bộ nhớ lớn hơn vì cả hai cùng nập tất cả dữ liệu lên vùng nhớ chính để xử lý. Tuy nhiên, thuật toán FQINTERVAL sử dụng bộ nhớ ít hơn do việc xử lý truy vấn chỉ thực hiện trực tiếp trên vùng mờ đã được xác định.
Bảng 2.13: Sử dụng bộ nhớ trong các thuật toán
Fuzzy Dataset
Sử dụng bộ nhớ trong các thuật toán
FQSIMMC FQSEM FQINTERVAL
RoomBooking 2045 2024 896
ProjectManagement 6135 6072 2688
CourseScoresManagement 6544 6555 2867
2.5 Kết luận chương 2
So sánh và gom cụm các đối tượng trong cơ sở dữ liệu hướng đối tượng mờ đã được đề xuất trong phần mục này, các kết quả đề xuất là cơ sở cho một chuỗi của các giai đoạn tiền xử lý truy vấn trong mô hình cơ sở dữ liệu hướng đối tượng mờ.
1. Đề xuất các phương pháp so sánh tính tương tự giữa các đối tượng mờ dựa vào các kỹ thuật của độ đo ngữ nghĩa của dữ liệu mờ và khoảng cách Euclidean. Các đề xuất này là sự đóng góp đáng kể cho hệ thống cơ sở cho
97
CSDL hướng đối tượng mờ nhằm làm gia tăng tính hiệu quả cho sự hoạt động của hệ thống khi mà có nhiều lựa chọn cho việc phân loại đối tượng theo nhóm dựa vào các tiêu chí quan hệ tương tự giữa các đối tượng mờ hay rõ. Sự phân loại này là một trong các bước tiền xử lý của các hệ thống cơ sở dữ liệu hướng đối tượng hay CSDL hướng đối tượng mờ để thực hiện các bước tiếp theo đó là gom cụm, lưu trữ và xử lý truy vấn.
2. Đề xuất thuật toán gom cụm dữ liệu EMC được cải tiến từ thuật toán EM từ mô hình GMM. Thông qua đề xuất này nhằm giúp cho hệ thống cơ sở cho CSDL hướng đối tượng mờ hoạt động hiệu quả hơn khi thực hiện các quy trình trình lưu trữ dữ liệu trên bộ nhớ chính, nhớ phụ hay ngay cả trên các dữ liệu đám mây và các thao tác trích rút dữ liệu trên các cụm. Đánh giá thuật toán EMC dựa vào các tính toán như: tỷ lệ biến thiên, sự sai khác, độ lệnh chuẩn, và phương sai để kiểm chứng hiệu quả của thuật toán.
3. Phát triển phương pháp xây dựng các khoảng mờ dựa vào kết quả của thuật toán phân cụm EMC. Từ kết quả đạt được của phân cụm, phương pháp xây dựng các khoảng mờ là chuyển các giá trị thuộc tính định lượng của các cụm về dạng ngôn ngữ hay giá trị thuộc nhằm giúp cho câu truy vấn tự nhiên hơn trong thế giới thực.
4. Thông qua các đề xuất đối sánh và gom cụm dữ liệu, luận án đã đề xuất các thuật toán xử lý truy vấn mờ mới như: Thuật toán xử lý truy vấn đơn, đa điều kiện mờ FQSIMSC (Fuzzy Query Sim Single Condition), FQSIMMC (Fuzzy
Query Sim Multi-Condition) và FQSEM (Fuzzy Query SEM). Các thuật toán này xử lý câu truy vấn với mệnh đề điều kiện là các giá trị như: giá trị ngôn ngữ (“Tuổi=Trẻ”) hay giá trị có tính ước lượng (“Tuổi=khoảng 21 tuổi”). Hơn nữa, luận án cũng đã đề xuất thuật toán xử lý truy vấn trên các khoảng mờ
FQINTERVAL (Fuzzy Query Interval), nhằm giúp người dùng thực hiện
trích lọc dữ liệu tự nhiên hơn thông qua mệnh đề điều kiện có giá trị được biểu diễn bằng ngôn ngữ (Tuổi = ”Trung niên”)
Các kết quả này sẽ là nền tảng cơ sở lý thuyết và ứng dụng cho quá trình xử lý truy vấn sẽ được trình bày trong chương 3.
98
Chương 3XỬ LÝ VÀ TỐI ƯU HÓA TRUY VẤN TRONG CƠ SỞ DỮ
LIỆU HƯỚNG ĐỐI TƯỢNG MỜ
Ngôn ngữ truy vấn là một thành phần quan trọng của bất kỳ hệ thống cơ sở dữ liệu nào (cơ sở dữ liệu quan hệ, cơ sở dữ liệu hướng đối tượng rõ hoặc mờ). Trong các mô hình cơ sở dữ liệu hướng đối tượng mờ, mặc dù đã có các đề xuất gần đây về phương pháp thao tác xử lý truy vấn dữ liệu. Tuy nhiên, để đối phó hiệu quả với các tình huống phức tạp nơi mà dữ liệu được lưu trữ dưới dạng các đối tượng có chứa thông tin không chắc chắn. Do đó, cần phải có ngôn ngữ truy vấn để xử lý cho các tình huống như vậy và kèm theo đó là các kỹ thuật xử lý mờ được áp dụng để đối phó với sự thiếu chính xác và không chắc chắn. Vì vậy, để đảm bảo cho mô hình cơ sở dữ liệu hướng đối tượng mờ được hoàn thiện hơn, nội dung chương này đề xuất một số tiếp cận mới như sau:
Giới thiệu các phép toán đại số đối tượng mờ cụ thể như: phép hợp mờ fuzzy union (∪̃), phép giao mờ fuzzy intersection (∩̃), phép nối mờ fuzzy join
(⋈̃ ),phép tích đề các mờ fuzzy cross product (×̃), phép hiệu mờ fuzzy difference (≃) và phép chia mờ fuzzy division (÷̃). đây là cơ sở cho việc xây dựng biểu thức đại số truy vấn mờ [CT2].
Trình bày về phương pháp xử lý truy vấn mờ, những phương pháp xử lý này là các bước tiền xử lý cho quá trình thực hiện tối ưu hóa của hệ thống nhằm tăng tính hiệu quả cho quá trình thực hiện thao tác trên dữ liệu mờ [CT4]. Trình bày phương pháp tối ưu hóa truy vấn dựa vào các phép biến đổi tương
đương, các phép biến đổi này giúp cho giải thuật Heuristic giảm thời gian xử lý trên cây đại số đối tượng mờ [CT5].
99
3.1 Các phép toán đại số trong cơ sở dữ liệu hướng đối tượng mờ
3.1.1 Đại số đối tượng
Đại số đối tượng là cơ sở cho một ngôn ngữ truy vấn hình thức, xử lý trên cả hai thành phần của đối tượng đó là thành phần trạng thái và hành vi của đối tượng đó. Đại số đối tượng tạo ra các đối tượng mới và các mối quan hệ mới giữa các đối tượng/lớp. Đại số đối tượng cung cấp các tính toán mạnh mẽ tương tự như tính toán trong đại số quan hệ và đại số quan hệ lồng. Định nghĩa và các toán tử thao tác dữ liệu dựa vào các kiểu, cấu trúc và lược đồ đối tượng đã được giới thiệu trong [95]. Một tập hợp các toán tử định nghĩa và thao tác dữ liệu được đề xuất với mục đích định nghĩa và tương tác cho tất cả các lược đồ cơ sở dữ liệu và định nghĩa truy vấn các đối tượng cơ sở dữ liệu. Định nghĩa các toán tử phải thỏa mãn nguyễn lý của “Compositionality”, chúng đảm bảo được tính chất bao đóng của phép tính đại số. Đại số đầy đủ được định nghĩa các cú pháp, ngữ nghĩa và các thao tác dữ liệu trên mô hình đối tượng [17], [41]. Đầu tiên một mô hình lớp mờ được định nghĩa và sau đó các phép phối hợp mờ như (1) Fuzzy Projection, (2) Fuzzy Selection, (3) Fuzzy Join, (4) Fuzzy Union, (5) Fuzzy Intersection, (6) Fuzzy Cross / Product, (7) Fuzzy Division, và (8) Fuzzy Difference được định nghĩa ở đây. SQL (Structured Query Language) cú pháp truy vấn với chiến lược xếp hạng các đối tượng trong câu truy vấn trả lời theo mức độ thỏa mãn của họ về việc đáp ứng yêu cầu tìm kiếm. Tùy thuộc vào mối quan hệ giữa các tập thuộc tính của các lớp kết hợp, ba loại phép toán kết hợp như Fuzzy Product, Fuzzy Join, và Fuzzy Union và một truy vấn linh hoạt qua SQL như cú pháp truy vấn được mô tả trong [96], [97].
3.1.2 Đại kết hợp mờ