Giáo trình Trí tuệ nhân tạo - Trần Uyên Trang

LỜI NÓI ĐẦU

CHƯƠNG I:

 TỔNG QUAN VỀ KHOA HỌC TRÍ TUỆ NHÂN TẠO

I. LỊCH SỬ PHÁT TRIỂN CỦA KHOA HỌC TRÍ TUỆ NHÂN TẠO

 Năm 1950, Alan Turing – nhà toán học người Anh đã công bố công trình nghiên cứu khoa học của ông “Tính toán một cách máy móc và một cách thông minh” (Computing Machinery and Intelligence). Ông đã đưa ra trò chơi “Turing Test” như là một cách để nhận dạng máy tính thông minh. Trong trò chơi này một hoặc nhiều người có thể đặt các câu hỏi về bất kỳ lĩnh vực nào cho hai đối tượng dấu mặt: một người và một máy tính. Người đặt câu hỏi sẽ dựa vào câu trả lời để xác định đối tượng trả lời là người hay máy. Nếu có thể liên tục làm cho người phỏng vấn nghĩ rằng các câu trả lời là của con người thì máy tính đó được xem là thông minh. Đó là mốc lịch sử được công nhận là thời điểm bắt đầu phát triển của lĩnh vực khoa học Trí tuệ nhân tạo.

 

doc101 trang | Chia sẻ: phuongt97 | Lượt xem: 320 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Trí tuệ nhân tạo - Trần Uyên Trang, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
generation(B5) generation(B5)connection(B2,Bt) other_breaker(Bt,B5) protected_by(lx,By,Bz)other_breaker(By,Bz) connection(B2,Bt)other_breaker(Bt,B5) Bt/By B5/Bz protected_by(l3,B6,B5) protected_by(lx,Bt,B5)connection(B2,Bt) l3/lx B6/Bt connect(By,Bz)connection(By,Bz) connection(B2,B6) B2/By B6/Bz connect(B2,B6) connect(B2,B6) Hình 5.4 Cơ sở tri thức được sử dụng để chứng minh máy cắt B5 là máy cắt dự phòng cho máy cắt B2 được liệt kê như sau: (generation(B2) generation(B5) connect(B2,B6) protected_by(l3,B6,B5) operate(B5) connect(By,Bz) " connection(By,Bz) protected_by(lx,By,Bz) " other_breaker(By,Bz) generation(B) " has_gen(B) (generation(By))connection(By,Bt)other_breaker(Bt,Bz) has_gen(Bz) " back_up(By,Bz) Hệ các tiên đề này được chuyển sang dạng mệnh đề: (generation(B2) generation(B5) connect(B2,B6) protected_by(l3,B6,B5) operate(B5) connect(By,Bz)connection(By,Bz) protected_by(lx,By,Bz)other_breaker(By,Bz) generation(B)has_gen(B) generation(By)connection(By,Bt)other_breaker(Bt,Bz) has_gen(Bz)back_up(By,Bz) back_up(B2,B5) Quá trình chứng minh máy cắt B5 là máy cắt dự phòng cho máy cắt B2 được mô tả rõ qua sơ đồ Hình 5.4(trên). II. PHƯƠNG ÁN TRONG CÁC HỆ THỐNG TRÍ TUỆ NHÂN TẠO Phương án là một ứng dụng trí tuệ nhân tạo, có nhiều ứng dụng trong công nghiệp sản xuất. Chẳng hạn như phương án điều khiển quá trình tự động của cánh tay robot. Quan sát thế giới khối như hình vẽ dưới đây : b a c e d Trạng thái đầu Hình 5.5 Trên một mặt bàn, đặt các khối a, b, c, d và e có cùng kích thước. Yêu cầu là cánh tay robot có khả năng nhặt các khối từ vị trí này đến đặt tại vị trí khác như Hình 5.6 dưới đây: Để di chuyển các khối, cánh tay robot phải thực hiện các thao tác như: xác định vị trí của một khối, nhặt một khối lên từ mặt bàn, đặt một khối xuống mặt bàn, lấy một khối từ đỉnh của một khối khác, đặt một khối lên đỉnh của một khối khác. Xây dựng các vị từ biểu diễn các thao tác trên: goto(X,Y,Z): đi đến vị trí được mô tả bằng toạ độ X, Y, Z. c a b d e Trạng thái đích Hình 5.6 pickup(X): nhặt khối X lên từ mặt bàn. Điều kiện khối X phải nằm trên mặt bàn, không có vật gì trên khối X và lòng bàn tay robot không cầm giữ bất cứ vật gì. putdown(X): đặt khối X xuống mặt bàn. Điều kiện là lòng bàn tay robot đang cầm giữ khối X. takeoff(X,Y): lấy khối X từ đỉnh của khối Y. Với điều kiện là khối X phải nằm trên khối Y, không có vật gì trên khối X và lòng bàn tay robot không cầm giữ bất cứ vật gì. puton(X,Y): đặt khối X lên đỉnh của khối Y. Các điều kiện là lòng bàn tay robot đang cầm giữ khối X và không có khối nào nằm trên khối Y. Có thể biểu diễn trạng thái của thế giới khối sử dụng tập các vị từ và vị từ quan hệ như sau: location(A,X,Y,Z): khối A ở tại vị trí có toạ độ X, Y, Z on(X,Y): khối X nằm trên khối Y clear(X): không có vật gì trên khối X hold(X): lòng bàn tay robot đang cầm giữ khối X hold( ) : lòng bàn tay robot không cầm giữ bất cứ vật gì ontable(X): khối X nằm trên mặt bàn Vd 5.3: Sử dụng các vị từ đã xây dựng ở trên để biểu diễn trạng thái ban đầu của thế giới khối Hình 5.5. Trạng thái ban đầu của thế giới khối Hình 5.5 được biểu diễn bằng các vị từ: ontable(a) on(b,a) hold( ) clear(b) ontable(c) on(e,d) clear(c) ontable(d) clear(e) Dựa vào hệ thống vị từ biểu diễn trạng thái ban đầu của thế giới khối trên ta thiết kế bộ các luật để khẳng định 3 trường hợp sau: Khối không có bất kỳ khối khác nằm trên nó Khối đang có trên mặt bàn Bàn tay robot chưa cầm giữ vật gì Luật 1: Nếu khối X sạch thì không tồn tại bất kỳ khối Y nào sao cho Y nằm trên đỉnh của khối X (X) (clear(X) Y)(on(Y,X))) Luật 2: Nếu một khối nằm trên bàn thì nó không nằm trên đỉnh của một khối bất kỳ nào khác (Y) (X) (on(Y,X) ontable(Y)) Luật 3: Lòng bàn tay robot không cầm giữ bất cứ vật gì nếu và chỉ nếu không có bất kỳ khối X nào sao cho bàn tay robot đang cầm giữ (X) hold( )(hold(X)) Từ 3 luật xác định trạng thái hiện có của thế giới khối trên, ta có thể thiết kế bộ các luật 4, 5, 6, 7 là các luật vận hành để thay đổi trạng thái trong không gian của bài toán dưới dạng A (B C). Dạng suy diễn kiểu này có nghĩa là A cho phép suy ra trạng thái mới B chỉ khi nào điều kiện C là đúng. Luật 4: Nếu nhặt một khối X bất kỳ lên từ mặt bàn thì lòng bàn tay robot phải cầm giữ khối đó chỉ khi nào trước đó lòng bàn tay robot là rỗng và không có bất kỳ khối nào khác trên đỉnh của nó. (X) (pickup(X) (hold(X) (hold( )clear(X)))) Luật 5: Nếu đặt một khối X bất kỳ xuống mặt bàn thì bàn tay robot phải rỗng và khối đó phải nằm trên mặt bàn và không có bất kỳ khối nào khác nằm trên đỉnh của nó chỉ khi nào trước đó bàn tay robot đã cầm giữ khối đó. (X) (putdown(X) (hold( )ontable(X)clear(X) hold(X))) Luật 6: Nếu đặt khối X lên đỉnh khối Y thì khối X phải nằm trên đỉnh khối Y và bàn tay robot phải rỗng và không có bất kỳ khối nào khác nằm trên đỉnh của nó chỉ khi nào trước đó không có khối nào nằm trên đỉnh của Y và bàn tay robot đang cầm giữ khối X (Y) (X) (puton(X,Y) ((on(X,Y)hold( )clear(X)) (clear(Y)hold(X)))) Luật 7: Nếu lấy khối X từ đỉnh của khối Y thì không có khối nào nằm trên đỉnh của khối Y và bàn tay robot đang cầm giữ khối X chỉ khi nào trước đó khối X nằm trên khối Y và không có bất kỳ khối nào nằm trên đỉnh của khối X và bàn tay robot không cầm giữ bất kỳ vật gì. (Y) (X) (takeoff(X,Y) ((clear(Y)hold(X)) (on(X,Y) (clear(X)hold( ))) Tiếp theo ta thiết kế bộ các luật xác định một số trạng thái không bị thay đổi còn gọi là luật khung (hay quan hệ khung) khi một trong bốn luật vận hành thay đổi trạng thái được đưa ra ứng dụng. Chẳng hạn ta xét các luật xác định vị từ ontable, on, clear không bị thay đổi trạng thái khi hai luật puton và takeoff được đưa ra ứng dụng. Luật 8: Nếu lấy một khối X bất kỳ từ đỉnh của khối Y thì khối Z vẫn nằm trên mặt bàn nếu trước đó Z đã có ở trên mặt bàn. (X) (Y) (Z) (takeoff(X,Y) (ontable(Z) ontable(Z))) Luật 9: Nếu đặt khối X bất kỳ lên đỉnh khối Y thì khối Z vẫn nằm trên mặt bàn nếu trước đó Z đã có ở trên bàn (X) (Y) (Z) (puton(X,Y) (ontable(Z) ontable(Z))) Luật 10: Nếu lấy một khối X bất kỳ từ đỉnh của khối Y thì khối Z vẫn nằm trên đỉnh khối F nếu trước đó Z đã nằm trên F. (X) (Y) (Z) (F) (takeoff(X,Y) (on(Z,F) on(Z,F))) Luật 11: Nếu đặt khối X bất kỳ lên đỉnh khối Y thì khối Z vẫn nằm trên đỉnh khối F nếu trước đó Z đã nằm trên F. (X) (Y) (Z) (F) (puton(X,Y) (on(Z,F) on(Z,F))) Luật 12: Nếu lấy một khối X bất kỳ từ đỉnh của khối Y thì sẽ không tồn tại bất cứ vật gì trên khối Z nếu trước đó khối Z sạch. (X) (Y) (Z) (takeoff(X,Y) (clear(Z) clear(Z))) Luật 13: Nếu đặt khối X bất kỳ lên đỉnh khối Y thì sẽ không tồn tại bất cứ vật gì trên khối Z nếu trước đó khối Z sạch. (X) (Y) (Z) (puton(X,Y) (clear(Z) clear(Z))) Tương tự chúng ta có thể thiết kế một số luật khung khác để xác định một số vị từ không bị thay đổi trạng thái nếu các luật vận hành được áp dụng. Tập các luật gồm các luật vận hành thay đổi trạng thái và luật khung định nghĩa một không gian gọi là không gian trạng thái tìm kiếm của bài toán thế giới khối. Phương án có thể được xem như một không gian trạng thái tìm kiếm. Các đặc thù của bài toán phương án là: Kỹ thuật tìm kiếm trên đồ thị Biểu diễn tri thức nhờ logic vị từ Các phép toán suy diễn thay đổi trạng thái Bảng tam giác: Bảng tam giác được tìm ra vào năm 1972 (bởi Fikes và Nilsson). Đó thực chất là một cấu trúc dữ liệu để tổ chức dãy các tác động của một phương án. Mục đích là để phân loại phương án và mô tả luật tương tác của phương án. Bảng tam giác có tổng số ô là (x + 1)2/2 + x/2 = (x(x + 3)/2 + 1) với x là số luật được đưa ra ứng dụng O1, O2, , Ox - Mỗi ô trong bảng có thể rỗng hoặc chứa các trạng thái. - Số luật x tương ứng với số cột của bảng. - Giả sử nếu có c cột thì luật thứ O1 tương ứng với c=1, cột thứ c tương ứng với luật thứ Oc . - Ô có chỉ số cột c = 0, chỉ số hàng r = 0 của bảng chứa trạng thái ban đầu của phương án. Sơ đồ cấu trúc tổng quát của bảng được tổ chức theo trình tự như hình 5.7 dưới đây: F Chú ý: Khi xây dựng phải bắt đầu từ phương án, từ đó mới xây dựng bảng tam giác tương ứng. 1 O1 0 Trạng thái ban đầu (Nội dung của ô trên) - (Các sự kiện bị tác động bởi luật O1) (Nội dung của ô trên) - (Các sự kiện bị tác động bởi luật O2) Bổ sung các sự kiện của luật O1 (Nội dung của ô trên) - (Các sự kiện bị tác động bởi luật O2) Bổ sung các sự kiện của luật O2 Bổ sung các sự kiện của luật Op p 0 1 2 O2 2 Op p Op Hình 5.7 Vd 5.4: Hãy xây dựng phương án và bảng tam giác tương ứng với phương án cho thế giới khối như dưới đây: c a b d c a b d Trạng thái ban đầu Trạng thái đích + Phương án được mô tả như sau: c a b d b c a d c a d b c a d b takeoff(b,d) putdown(b) takeoff(a,c) putdown(a) c a d b c a d b pickup(c) puton(c,d) on(a,c) on(b,d) ontable(c) ontable(d) clear(a) clear(b) hold( ) on(b,d) ontable(c) ontable(d) clear(b) hold(a) clear(c) on(b,d) ontable(c) ontable(d) clear(b) clear(c) hold( ) ontable(a) clear(a) 1 takeoff(a,c) 2 putdown(a) ontable(c) ontable(d) clear(c) ontable(a) clear(a) hold(b) clear(d) 3 takeoff(b,d) ontable(c) ontable(d) clear(c) ontable(a) clear(a) clear(d) hold( ) clear(b) ontable(b) 4 putdown(b) ontable(d) ontable(a) clear(a) clear(d) clear(b) ontable(b) hold(c) 5 pickup(c) ontable(d) ontable(a) clear(a) clear(b) ontable(b) hold( ) 6 puton(c,d) hold( ) on(c,d) clear(c) + Bảng tam giác tương ứng cho phương án thế giới khối trên : Qua bảng ta nhận thấy sau khi thực hiện luật 6, thì đạt đến trạng thái đích với giá trị trong các ô của bảng thể hiện đầy đủ trạng thái này: ontable(a), clear(a); ontable(b), clear(b); on(c,d), clear(c), ontable(d); hold( ). III. BÀI TẬP Bài 1 : Cho thế giới khối (Hình dưới) b e a e b c d d c a Trạng thái đầu Trạng thái đích Hãy xây dựng phương án để robot di chuyển các khối từ trạng thái đầu đến trạng thái đích và bảng tam giác tương ứng với phương án này. Bài 2 : Cho hệ thống năng lượng điện như hình vẽ : ~ l2 l1 B2 B3 B4 B1 l3 ~ B6 B5 Các trạng thái của các máy cắt được liệt kê ở bảng : (O : hoạt động ; S : không hoạt động (phục vụ)) Máy cắt Trường hợp 1 Trường hợp 2 Trường hợp 3 1 S S O 2 S S S 3 S O O 4 S S S 5 O S S 6 O O S a. Tìm các máy cắt có nguồn ứng với mỗi trường hợp b. Với từng trường hợp hãy xác định các máy cắt hoạt động và máy cắt dự phòng hoạt động cho máy cắt không hoạt động khi có sự cố trên mỗi đường dẫn. CHƯƠNG VI: XỬ LÝ TRI THỨC KHÔNG CHẮC CHẮN TRONG CÁC HỆ THỐNG TRÍ TUỆ NHÂN TẠO LÝ GIẢI VỚI SỰ KHÔNG CHẮC CHẮN Các sự kiện của bài toán mà chúng ta đã gặp trước đây được giả sử là tuyệt đối đúng hoặc tuyệt đối sai. Dạng tri thức này được gọi là tri thức chắc chắn . Cách xử lý nó tuân theo các phép toán của logic rõ (đúng và sai tương ứng với hai chữ số 1 và 0). Nó hoàn toàn không phù hợp với tri thức không chắc chắn mà chúng ta sắp thảo luận dưới đây. Ngược lại việc giả sử rằng các sự kiện của bài toán chưa hẳn tuyệt đối đúng hoặc tuyệt đối sai thuộc về nhóm tri thức không chắc chắn. Việc lý giải tri thức không chắc chắn phải kèm theo số đo chắc chắn trong biểu diễn cũng như trong luật suy diễn. Số đo chắc chắn còn gọi là độ tin cậy của biểu diễn và độ tin cậy của luật suy diễn. Vd 6.1: Xét phát biểu: “Mưa dường như không to lắm”. Giả sử phát biểu này có độ tin cậy khoảng 50% hay 0.50 thì độ chắc chắn của phát biểu chỉ đúng khoảng 50%. Nếu ta xem xét luật dạng: p à q Trong tri thức chắc chắn, độ tin cậy của p là con(p) = 1 độ tin cậy của suy diễn là con(p à q) = 1 Từ đó suy ra độ tin cậy của q là con(q) = 1. Trong tri thức không chắc chắn, độ tin cậy của p là con(p) <1 độ tin cậy của suy diễn là con(p à q) <1 Do đó độ tin cậy của q phải là con(q) <1 Có hai phương pháp xử lý tri thức không chắc chắn trong các hệ thống trí tuệ nhân tạo đó là phương pháp xử lý tri thức không chắc chắn sử dụng xác suất thống kê và phương pháp xử lý không chắc chắn sử dụng logic mờ. XỬ LÝ TRI THỨC KHÔNG CHẮC CHẮN SỬ DỤNG XÁC SUẤT THỐNG KÊ Xác suất điều kiện _ các nguyên lý căn bản Giả sử có một cái hộp chứa nhiều quả bóng, mỗi quả bóng có đánh dấu trên nó để giúp ta đếm số lần thực nghiệm. Một số quả bóng được đánh dấu chữ cái “A” Một số quả bóng được đánh dấu chữ cái “B” Một số quả bóng được đánh dấu hai chữ cái “A” và “B” Một số quả bóng không được đánh dấu bất cứ ký hiệu nào Quá trình tiến hành thí nghiệm: Lấy một quả bóng từ hộp và sau đó lại bỏ nó trở lại vào hộp Đếm số lần lặp lại của các quả bóng có đánh dấu chữ cái A, chữ cái B và hai chữ cái A B. Gọi : + t1 : số lần lấy ra của các quả bóng có đánh dấu chữ cái A + t2 : số lần lấy ra của các quả bóng có đánh dấu chữ cái B + t3 : số lần lấy ra của các quả bóng có đánh dấu cả hai chữ cái AB + t4 : số lần lấy ra của các quả bóng không có đánh dấu + t : tổng số lần của các quả bóng được lấy ra Khi đó : Xác suất lấy ra của các quả bóng Ký hiệu đánh dấu P(A) = t1/t A P(B) = t2/t B P(A và B) = t3/t A và B Xác suất điều kiện của A đối với B được định nghĩa là: P(A\B) = t3/t2 Dựa vào các công thức ở bảng trên à P(A\B) = P(A và B)/P(B) (1) Vậy có thể phát biểu : xác suất điều kiện của A đối với B bằng xác suất của A và B chia cho xác suất của B. à P(A và B) = P(A\B) * P(B) (1’) Tương tự, công thức cơ bản xác suất điều kiện của B đối với A là: à P(B\A) = P(A và B)/P(A) (2) (2) à P(A và B) = P(B\A) * P(A) (2’) (1’) và (2’) à P(A) * P(B\A) = P(B) * P(A\B) (luật Bayes) Bên cạnh đó ta còn có các công thức: P(A hoặc B) = P(A) + P(B) – P(A và B) (luật and-or (và-hoặc)) P(A) = P(A\B) * P(B) + P(A\not B) * P(not B) (luật gán phức hợp) Lý giải xác suất chính xác dưới điều kiện không chắc chắn Ở đây chúng ta thấy có sự mâu thuẫn : Làm cách nào nó có thể chính xác nếu nó là không chắc chắn ? Để thực hiện được điều này, trong một tình huống không chắc chắn, các mảnh thông tin phải có các số đo chắc chắn đó chính là các giá trị xác suất của chúng. Các giá trị xác suất này là nguồn cung cấp cho các suy diễn để xác định các giá trị xác suất chính xác của các kết luận. Xem xét luật đơn giản có dạng: if (A) then (B) Trường hợp 1: Nếu ta xét luật trong một tình huống chắc chắn: Khi đó số đo chắc chắn của tiền điều kiện A là 1, ứng với giá trị xác suất là: P(A) = 1 (3) Số đo chắc chắn của suy diễn A à B là 1, ứng với giá trị xác suất của nó là: P(A à B) = P(B\A) = 1 (4) Từ (3) và (4) : số đo chắc chắn của kết luận B là 1, ứng với giá trị xác suất là: P(B) = 1; Trường hợp 2: Nếu ta xét luật trong một tình huống không chắc chắn với : Xác suất của A là P(A) = 0.9 Xác suất của suy diễn là P(B\A) = 0.95 Làm thế nào để tính số đo chắc chắn cho kết luận B? Số đo chắc chắn hay xác suất của kết luận B được xác định bằng công thức luật gán phức hợp ở trên : P(B) = P(B\A) * P(A) + P(B\not A) * P(not A) (5) Mà P(A) = 0.9, nên P(not A) = 0.1, thay vào luật (5) ở trên ta có: P(B) = 0.95 * 0.9 + P(B\not A) * 0.1 P(B) = 0.855 + P(B\not A) * 0.1 Giả sử P(B\not A) = 0 Vậy xác suất chính xác của B là : P(B) = 0.855 Lý giải xấp xỉ Xem xét luật dạng đơn giản if (A) then (B) Trong tình huống không chắc chắn, ta có thể cho Số đo chắc chắn của bằng chứng tương đương với giá trị xác suất của nó Số đo chắc chắn của bằng chứng A = ct(A) P(A) Số đo chắc chắn của suy diễn tương đương với giá trị xác suất của suy diễn Số đo chắc chắn của suy diễn = ct(i) P(B\A) Cách lý giải xấp xỉ đó là số đo chắc chắn của kết luận B được tính bằng tích của số đo chắc chắn của bằng chứng A và số đo chắc chắn của suy diễn : ct(kết luận) = ct(bằng chứng) * ct(suy diễn) ct(B) = ct(A) * ct(i) Tương tự, xét luật dạng: if (A1 và A2) then (B) Số đo chắc chắn cho kết luận B được tính bằng công thức đã nêu trên : ct(kết luận) = ct(bằng chứng) * ct(suy diễn) với số đo chắc chắn bằng chứng A được cho xấp xỉ như sau : ct(A) = ct(A1 and A2) = min(ct(A1), ct(A2)) Tương tự, nếu luật có dạng: if(A1 hoặc A2) then (B) thì số đo chắc chắn cho kết luận B cũng được tính bằng công thức: ct(kết luận) = ct(bằng chứng) * ct(suy diễn) với số đo chắc chắn bằng chứng A được xấp xỉ bằng : ct(A) = ct(A1 or A2) = max(ct(A1), ct(A2)) Giả sử luật có dạng như sau: Luật 1: if (A1) then (B) ct(kết luận) = ct1 Luật 2: if (A2) then (B) ct(kết luận) = ct2 Nếu muốn tính tổng số đo chắc chắn của kết luận B trong hệ thống ta phải thực hiện như sau: Tổng số đo chắc chắn của B = (số đo chắc chắn của B từ luật 1) + (số đo chắc chắn của B từ luật 2) – (số đo chắc chắn của B từ luật 1) * (số đo chắc chắn của B từ luật 2). ctotal = ct1 + ct2 – ct1 * ct2 Nếu luật có dạng : if (A1 và (not A2)) then (B) thì số đo chắc chắn của A2 được tính bằng một trong 2 cách sau: Tính số đo chắc chắn cho (not A2) bằng cách đổi dấu: ct(not A) = – ct(A) Tính số đo chắc chắn cho (not A2) bằng cách sử dụng công thức xác suất: P(not A) = 1 – P(A) XỬ LÝ TRI THỨC KHÔNG CHẮC CHẮN SỬ DỤNG LOGIC MỜ (FUZZY LOGIC) Logic mờ là một trong những phương pháp xử lý tri thức không chắc chắn trong các hệ thống AI. Khái niệm tập mờ và các phép toán trên tập mờ 1 nếu xA 0 nếu xA Tập rõ (crisp set) : Cho A là một tập hợp trong không gian U, x là các phần tử của U. A được gọi là tập rõ trong U nếu A được định nghĩa bằng hàm đặc tính XA(x) của nó sao cho: XA(x) = Tập mờ (fuzzy set) : Cho F là một tập hợp trong không gian U, x là các phần tử của U. F được gọi là tập mờ trong U nếu F được định nghĩa bằng hàm liên thuộc F(x) của nó sao choF(x) có thể lấy giá trị bất kỳ nào trong khoảng [0,1]. U - Nếu U là không gian liên tục, tập mờ F trong U có thể được biểu diễn bằng: F = F(x)/x Với là toán tử hợp cho hàm liên tụcF(x); ký hiệu / là toán tử kết hợp giữa giá trị liên thuộc với giá trị rõ của nó. - Nếu U là không gian rời rạc, tập mờ F trong U có thể được biểu diễn bằng: F = F(x)/x Với là toán tử hợp cho hàm rời rạcF(x) - Tập mờ F còn có thể được biểu diễn theo cách khác trong không gian rời rạc U như sau: F = F(x1)/x1 + F(x2)/x2 + F(x3)/x3 ++ F(xi)/xi ++ F(xN)/xN Với ký hiệu + là toán tử hợp; ký hiệu / là toán tử kết nối giữa giá trị liên thuộc ứng với giá trị rõ của nó; F(xi) là giá trị liên thuộc hay là số đo chắc chắn của phần tử xi trong tập F. Vd 6.2: Cho U là không gian các số thực và A là tập các số thực lớn hoặc bằng 5. Nếu A là tập rõ trong U thì A được định nghĩa bằng hàm đặc tính của nó như sau: 1 2 3 4 5 1 XA(x) x U A 0 Hình 6.1 1 x5 0 x<5 XA(x) = và A được biểu diễn ở Hình 6.1 bên Nếu A là tập mờ trong U thì A được định nghĩa bằng hàm liên thuộc của nó: 1 2 3 4 5 6 7 8 9 x U 1 A(x) Hình 6.2 A(x) = Các phép toán trên tập mờ: Phép toán bằng nhau: Giả sử A và B là hai tập mờ trong không gian U, A và B được gọi là bằng nhau nếu và chỉ nếu : A(x) = B(x) x U Phép toán hợp của hai tập mờ: Hai tập mờ A và B với các hàm liên thuộc tương ứng A(x) và B(x) trong không gian U hợp nhau sinh ra một tập mờ mà hàm liên thuộc của nó A(x) B(x) được định nghĩa bởi: A(x) B(x) = max{A(x), B(x)} x U Phép toán giao của hai tập mờ: Hai tập mờ A và B với các hàm liên thuộc tương ứng A(x) và B(x) trong không gian U giao nhau sinh ra một tập mờ mà hàm liên thuộc của nó A(x) B(x) được định nghĩa bởi: A(x) B(x) = min{A(x), B(x)} x U Phép toán bù của tập mờ: Nếu A là tập mờ trong không gian U với hàm liên thuộcA(x) thì phần bù của tập mờ A là một tập mờ A’ trong không gian U mà hàm liên thuộc của nó được định nghĩa : A’(x) = 1 – A(x) x U Tích cartesian (cartesian product): Tích cartesian của các tập mờ A1, A2,, An trong các không gian U1, U2,, Un là một tập mờ trong không gian tích U1U2U3Un với hàm liên thuộc của nó được định nghĩa: A1A2An(x) = min{A1(x1), A2(x2),, An(xn)} x1, x2,, xn U Tích đại số (algebraic product): Tích đại số của hai tập mờ A và B với các hàm liên thuộcA(x) và B(x) là một tập mờ mà hàm liên thuộc của nóAB(x) được định nghĩa: AB(x) = A(x)B(x) x U Quan hệ mờ và các phép toán trên các quan hệ mờ Không gian tích: cho xX và yY, không gian tích của X và Y được định nghĩa: XY = {(x, y) / xX, yY} Quan hệ rõ: cho R là tập con của không gian tích XY, R được gọi là quan hệ rõ nếu R được định nghĩa bằng hàm đặc tính của nó sao cho: 1 nếu (x, y)R 0 nếu (x, y)R XR(x, y) = Quan hệ mờ: cho R là tập con của không gian tích XY, R được gọi là quan hệ mờ giữa hai không gian X và Y nếu R được định nghĩa bằng hàm liên thuộc của nó sao choR(x, y) có thể lấy giá trị bất kỳ nào trong khoảng [0, 1]. Các phép toán trên các quan hệ mờ: Nếu P và Q là hai quan hệ mờ trên không gian tích XY và YZ thì quan hệ mờ R trên không gian tích XZ là sự hợp thành của hai quan hệ mờ P và Q, được viết R = PQ. Toán tử hợp thành mờ gồm ba loại thông dụng: max-min, max-product, min-max. Toán tử hợp thành Hàm liên thuộc của quan hệ mờ R max-min R(x, z) = PQ(x, z) = max min[P(x, y), Q(y, z)] min-max R(x, z) = PQ(x, z) = min max[P(x, y), Q(y, z)] max-product R(x, z) = PQ(x, z) = max[P(x, y)Q(y, z)] Vd 6.3: Trong lĩnh vực trí tuệ nhân tạo, chương trình thiết kế chia ra làm 4 môn học tự chọn: lý thuyết mờ (Fuzzy Theory), điều khiển mờ (Fuzzy Control), mạng neuron nhân tạo (Neuron Network) và hệ chuyên gia (Expert System) ứng với các tính chất của chúng là : theory, application, hardware, programme. Có 3 sinh viên Tony, Stephany, và Jack muốn chọn một môn học mình ưa thích nhất trong số các môn học nêu trên. Yêu cầu: Hãy sử dụng các quan hệ mờ để giúp họ đưa ra quyết định đúng đắn. Gọi X = {T, S, J} là tập chứa tên các sinh viên, Y = {y1, y2, y3, y4} là tập chứa tên các tính chất môn học theo thứ tự đó, Z = {FT, FC, NN, ES} là tập chứa tên các môn học. Nếu các quan hệ mờ của P và Q được cho trong các không gian tích XY và YZ như sau: P(x,y) = Q(y,z) = Ma trận quan hệ R(x,z) được tính sử dụng phép toán max-min như sau: R = PQ = Từ ma trận quan hệ trên ta rút ra kết luận: Tony thích nhất là môn học điều khiển mờ, Stephany thích nhất là môn lý thuyết mờ và Jack thích nhất là môn hệ chuyên gia. Các phương pháp mờ hoá và giải mờ Phương pháp mờ hoá : (fuzzification) Mờ hoá là quá trình làm mờ một đại lượng rõ. Chúng ta sẽ nghiên cứu một vài phương pháp mờ hoá điển hình. Phương pháp mờ hoá trực giác : Là phương pháp dựa trên kinh nghiệm và sự hiểu biết của con người để phát triển các hàm liên thuộc chuyển đổi các đại lượng rõ sang các đại lượng mờ. Phương pháp mờ hoá suy diễn : Là phương pháp dựa trên luật để phát triển các hàm liên thuộc. Vd 6.4: Sử dụng phương pháp mờ hoá suy diễn để phát triển các hàm liên thuộc xấp xỉ các hình tam giác. Gọi là ba góc trong của hình tam giác, với điều kiện 0, và cho U là không gian góc của các hình tam giác: U = {() \ 0; 180} Ta định nghĩa các tập mờ của các loại tam giác như sau: I (isosceles) : xấp xỉ tam giác cân E (equilateral) : xấp xỉ tam giác đều R (right) : xấp xỉ tam giác vuông IR (isosceles-right) : xấp xỉ tam giác vuông cân O (other) : các loại tam giác khác Nếu I là tập mờ của tam giác cân, thì hàm liên thuộc của nó có thể được định nghĩa là: I() = 1 – (1/600)min( ). Nếu R là tập mờ của tam giác vuông, thì hàm liên thuộc của nó có thể được định nghĩa là: R() = 1 – (1/90) Nếu IR là tập mờ của tam giác vuông cân, thì hàm liên thuộc của nó có thể suy diễn được nhờ luật giao của hai tập mờ I và R là: IR = IR IR() = min(I(), R()) = 1– max(1/60min( ), 1/90) Nếu E là tập mờ của tam giác đều thì hàm liên thuộc của nó có thể được định nghĩa là: E() = 1 – 1/180() Vậy đối với trường hợp cho tất cả các loại tam giác khác, hàm liên thuộc của chúng có thể suy diễn được nhờ luật giao của các phép bù của tam giác cân, vuông và đều là: O = (not I)(not R)(not E) O() = min(1–I(), 1–R(), 1 –E()) = 1/180min(3( 3(), 2, ) (z*) (z*) Phương pháp giải mờ : (defuzzification) Giải mờ là quá trình biến đổi từ các đại lượng mờ sang các đại lượng rõ. Đầu ra của một hệ thống mờ là sự hợp nhau của nhiều tập mờ đầu ra trên cùng biến đầu ra. Chúng ta sẽ nghiên cứu một số phương pháp giải mờ như sau: Phương pháp giải mờ cực đại : Phương pháp giải mờ cực đại còn gọi là phương pháp giải mờ độ cao nghĩa là lấy giá trị rõ tại điểm cực đại của tập mờ đầu ra hệ thống. Phương pháp giải mờ điểm trọng tâm : Phương pháp giải mờ điểm trọng tâm hay còn gọi là phương pháp trọng tâm vùng, tức là lấy giá trị rõ tại điểm trọng tâm vùng hợp nhau của nhiều tập mờ đầu ra. Phương pháp được cho bởi biểu thức đại số: z* = với là dấu tích phân đại số; z là biến ngôn ngữ đầu ra; z* là giá trị rõ lấy được. Phương pháp giải mờ điểm trọng tâm cũng được cho bởi biểu thức đại số dưới dạng rời rạc : z* = với là dấu tổng đại số. Logic mờ (fuzzy logic) Logic rõ : Là logic hai chữ số 0 và 1. T: x X [0, 1] Cho hai đề xuất I và J, các giá trị chân lý của các đề xuất này được cho như sau: if y A, T(I) = 1; else T(I) = 0 if y B, T

Các file đính kèm theo tài liệu này:

  • docgiao_trinh_tri_tue_nhan_tao_tran_uyen_trang.doc
Tài liệu liên quan