Chu trình lập luận trên kinh nghiệm

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ước lượng chi phí phần mềm bằng CBR (Trang 35 - 40)

2. CHƯƠNG 2 LẬP LUẬN TRÊN KINH NGHIỆM

2.2. Chu trình lập luận trên kinh nghiệm

Một cách tổng quát, CBR hoạt động theo chu trình gồm 4 pha như hình 6 sau đây : 1. Tìm kiếm lại (Retrieve) một hoặc nhiều ca lập luận tương tự

2. Sử dụng lại (Reuse) lời giải của các ca lập luận cũ cho ca lập luận mới.

3. Xem xét lại (Revise) lời giải.

4. Lưu lại (Retain) ca lập luận mới

Các phần mềm

đã có

Tri thức nền Bài toán

ước lượng

Ước lượng được thẩm định

Ước lượng đề xuất TÌM KIẾM LẠI

SỬ DỤNG LẠI

XEM XÉT LƯU LẠI LẠI

Phần mềm mới

Phần mềm mới

Phần mềm đã thẩm định Phần mềm

đã hoàn thành

Phần mềm tương tự

Phần mềm đã ước lượng

Hình 6 Chu trình lập luận theo kinh nghiệm.

A. Tìm kiếm lại (Retrieve)

Trong phương pháp CBR quá trình tìm kiếm lại là một trong những vấn đề khó khăn nhất . Hàm tím độ tương tự có ảnh hưởng rất lớn đến hiệu quả và độ chính xác của các hệ thống phía sau. Trong bước thực hiện này cần tìm ra độ tương tự giữa các ca lập luận để có đánh giá chính xác. Vì vậy cần phải chọn ra giải thuật hợp lý để tìm kiếm ra độ tương tự giữa các ca lập luận.

Trong ngành khoa học máy tình, có rất nhiều các phương pháp và giải thuật tìm kiếm.

Một giải thuật tìm kiếm là một thuật toán lấy đầu vào là một bài toán và trả về kết quả là một lời giải cho bài toán đó. Giải thuật tìm kiếm cơ bản nhất là vét cạn. Tập hợp tất cả các lời giải có thể đối với một bài toán được gọi là không gian tìm kiếm. Trong giải thuật tìm kiếm chia ra thành:

Tìm kiếm không có thông tin : Là giải thuật không tính đến bản chất của cụ thể của bài toán. Khi đó các giải thuật này có thể được cài đặt một cách tổng quát và áp dụng cho nhiều dạng tìm kiếm khác nhau. Nhược điểm không gian tìm kiếm lớn và quá trình tìm kiếm mất nhiều thời gian. Bao gồm các dạng tìm kiếm :

- Tìm kiếm trên danh sách : tuyến tính, nhị phân, truy nhập ngẫu nhiên, nội suy, Grover, bảng băm, cây nhị phân cân bằng…

- Tìm kiếm trên cây : tìm kiếm theo chiều rộng, tìm kiếm theo chiều sâu, tìm kiếm lặp sâu dần…

- Tìm kiếm trên đồ thị như : Dijkstra, Kruskal, giải thuật láng giềng gần nhất, Prim…

được coi là các mở rộng của các thuật tóan tìm kiếm trên cây.

Tìm kiếm có thông tin : Trong tìm kiếm có thông tin dùng một đánh giá „heuristic‟

đặc thù cho bài tóan cần giải quyết với vai trò hướng dẫn cho quá trình tìm kiếm. Vì vậy phụ thuộc nhiều vào đánh giá có thực sự tốt hay không. Nổi trội trong tìm kiếm có thông tin là bảng băm với một hàm băm là một heuristic dựa trên bài toán được giải. Đa số các thuật tóan tìm kiếm trên có thông tin đều là tìm kiếm trên cây. Trong đó có tìm kiếm theo lựa chọn tốt nhất và A*.

Ngoài ra còn có một số hướng trong giải thuật tìm kiếm như Tìm kiếm đối kháng, thỏa mãn ràng buộc…

Trong CBR các phương pháp tìm kiếm độ tương tự thường được áp dụng các phương pháp bao gồm : khoảng cách Eurclit (hay tìm kiếm gần nhất), đại số mờ, quy nạp, truy vấn CSDL, khoảng cách Mahatta, khoảng cách Hamming.

1.1 Tìm kiếm gần nhất

Tìm kiếm gần nhất là phương pháp trực quan và được sử dụng nhiều nhất trong các hệ CBR. Phương pháp này dựa trên lý thuyết về khỏang cách giữa 2 điểm trong không gian theo học thuyết của Euclide

(11) Đơn vị tri thức của CBR là một ca lập luận. Một ca lập luận này gồm 1 bộ đặc tả bài

toán và lời giải. Trong đó giả sử một ca lập luận được biểu diễn dưới dạng các vector thuộc tính có các giá trị từ a1 tới an với n là số thuộc tính biểu diễn ca lập luận. Khi đó độ tương tự giữa 2 ca lập luận sẽ được tính theo công thức :

(12)

Trong đó :

- T : là ca lập luận đang xét - S là ca lập luận so sánh - n là số các thuộc tính

- simi là hàm tính độ tương tự giữa 2 thuộc tính i của ca lập luận T và S.



i n

i

i i

i i w

pq W

W Q

P sim

SIM 0

) , (

2

1

) (

) ,

( 

n

i

i

i y

x y

x y x d

- Wi trọng số xác định độ ưu tiên của thuộc tính i.

Hình 7 mô tả một cách biểu diễn các ca lập luận trên hệ tọa độ trực chuẩn. Mỗi ca lập luận được biểu diễn bằng 1 điểm trên mặt phẳng tọa độ và độ tương tự được xác định là khoảng cách giữa các điểm đó.

Hình 7 Đồ thị biểu diễn ca lập luận [2]

1.2 Đại số mờ

Mặc dù đươc nghiên cứu và phát triển độc lập nhưng CBR và đại số mờ đều đề cập tới những bài tóan “không rõ ràng”. Chúng ta có thể tìm kiếm các ca lập luận tương tự dựa trên quan điểm của đại số mờ.

Xét mỗi ca lập luận T trong cơ sở tri thức. Chúng ta sẽ xây dựng tập các ca lập luận tương tự với T là tập mờ (fuzzy set) K nhận T làm nhân.

Trước tiên chúng ta xác định tập mờ K i là tập các ca lập luận Si tương tự với T ở thuộc tớnh i. Hàm thuộc của K i là tập à(x).

Khi có tập K gồm các ca lập luận tương tự với T ở tất cả các thuộc tính là :

(13)

Thực chất mỗi ca lập luận K gắn với một hàm thuộc :

(14)

n

i

Ki

K

1

)) ( ),...

( ), ( min(

)

(x 1 x 2 x x

Kn

K K

K   

 

Giả sử có một ca lập luận S. Khi đó độ tương tự giữa ca lập luận S và T là :

(15) Như hỡnh … minh họa bờn dưới, ca lập luận 4 hoàn toàn khỏc, ca lập luận 2 và 3 ô hơi giống ằ, cũn ca lập luận 1 cú thể coi là giống hoàn toàn với ca lập luận 0.

Bằng cách xem xét trên quan điểm của đại số mờ, chúng ta có thể tận dụng các kết quả có sẵn trong đại số mờ để phát triển lý thuyết CBR.

1.3 Quy nạp

Kỹ thuật tìm kiếm quy nạp (Inductive Retrieval) dựa theo ý tưởng của phương pháp học máy (Machine Learning) : xây dựng cây quyết định từ dữ liệu đã có. Trong hệ thống CBR, thuật toán quy nạp (ID3) sẽ phân tích cơ sở tri thức và dựa trên đặc điểm các thuộc tính sẽ chia ca lập luận thành các lớp. Từ đây chính ta sẽ thu được một cây quyết định cho phép xác định các ca lập luận tương tự. Phương pháp này tránh cho việc phải duyệt tòan bộ cơ sở tri thức nhưng mỗi lần thêm ca lập luận mới phải xây dựng lại cây quyết định. Hình 8 minh họa cây quyết định đánh giá khả năng tài chính khách hàng của một ngân hàng.

Hình 8 Cây quyết định B. Hiệu chỉnh

Sau khi tìm kiếm được ca lập luận tương tự, hệ thống sẽ tìm cách áp dụng lời giải của ca lập luận cũ cho ca lập luận mới. Tuy nhiên các ca lập luận tìm kiếm được mới là bước đầu đưa ra những ca lập luận có độ tương quan cao nhất với dự án. Chính vì vậy cần có quá trình hiệu chỉnh. Việc hiệu chỉnh lời giải là quá trình “thông minh” nhất đối với hệ thống CBR. Hệ thống đánh giá lời giải cũ và áp dụng cho ca lập luận. Có một số phương pháp hiệu chỉnh như sau :

) ( ) ,

(S T T

SIM K

- Hiệu chỉnh thế : là cách thế một vài điểm của lời giải cũ để tạo ra lời giải mới.

Phép thế đơn giản nhất và được sử dụng tương đối phổ biến là thế theo từ khóa.

Khi đó sự sai khác về từ khóa của đặc tả bài tóan sẽ được hiệu chỉnh ở phần lời giải.

- Hiệu chỉnh biến đổi : Biến đổi lời giải cũ dựa trên một số công thức và quy tắc để sinh ra lời giải mới. Phép biến đổi này có thể là thêm, xóa thuộc tính hoặc kết hợp các lời giải để tạo ra một lời giải hợp lý nhất.

- Hiệu chỉnh theo miền của bài tóan : Sử dụng các quy tắc riêng theo miền của bài toán để hiệu chỉnh. Các quy tắc hiệu chỉnh này không thuộc loại hiệu chỉnh thế có thể thay đổi toàn bộ cấu trúc của lời giải.

- Hiệu chỉnh lặp lại suy luận : Lặp lại các suy diễn sinh ra lời giải cũ để suy ra lời giải cho ca lập luận mới.

Việc hiệu chỉnh là rất khó thực hiện do cần có sự hiểu biết về miền bài tóan trong khi CBR thường được áp dụng cho các bài toán có đặc tả không tường minh. Vì vậy trong thực tế có rất nhiều hệ thống CBR bỏ qua việc hiệu chỉnh ca lập luận hoặc chỉ dừng lại ở mức hỗ trợ hiệu chỉnh. Việc hiệu chỉnh thực sự dành cho người sử dụng. Người sử dụng sẽ dựa vào kiểm nghiệm thực tế mà có những thay đổi thích hợp cho lời giải (hiệu chỉnh bán tự động).

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Ước lượng chi phí phần mềm bằng CBR (Trang 35 - 40)

Tải bản đầy đủ (PDF)

(72 trang)