Giáo trình nhập môn trí tuệ nhân tạo phần 2 GS TSKH hoàng kiếm, ths đinh nguyễn anh dũng

99 503 1
Giáo trình nhập môn trí tuệ nhân tạo  phần 2   GS TSKH  hoàng kiếm, ths  đinh nguyễn anh dũng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương BIỂU DIỄN TRI THỨC A TỔNG QUAN TRÍ TUỆ NHÂN TẠO I MỞ ĐẦU Chế tạo cỗ máy thông minh người (thậm chí thông minh người) ước mơ cháy bỏng loài người từ hàng ngàn năm Hẳn bạn đọc nhớ đến nhà khoa học Alan Turing đóng góp to lớn ông lónh vực trí tuệ nhân tạo Năng lực máy tính ngày mạnh mẽ điều kiện thuận lợi cho trí tuệ nhân tạo Điều cho phép chương trình máy tính áp dụng thuật giải trí tuệ nhân tạo có khả phản ứng nhanh hiệu trước Sự kiện máy tính Deep Blue đánh bại đại kiện tướng cờ vua giới Casparov minh chứng hùng hồn cho bước tiến dài công nghiên cứu trí tuệ nhân tạo Tuy đánh bại Casparov Deep Blue cỗ máy biết đánh cờ ! Nó chí trí thông minh sơ đẳng đứa bé biết lên ba nhận diện người thân, khả quan sát - - 75 nhận biết giới, tình cảm thương, ghét Ngành trí tuệ nhân tạo có bước tiến đáng kể, trí tuệ nhân tạo thực có phim khoa học giả tưởng Hollywood Vậy nghiên cứu trí tuệ nhân tạo? Điều tương tự ước mơ chế tạo vàng nhà giả kim thuật thời Trung cổ, chưa thành công trình nghiên cứu làm sáng tỏ nhiều vấn đề Mặc dù mục tiêu tối thượng ngành TTNT xây dựng máy có lực tư tương tự người khả tất sản phẩm TTNT khiêm tốn so với mục tiêu đề Tuy vậy, ngành khoa học mẻ tiến ngày tỏ ngày hữu dụng số công việc đòi hỏi trí thông minh người Hình ảnh sau giúp bạn hình dung tình hình ngành trí tuệ nhân tạo Thấp Máy tính trí tuệ Các mạch điện tử nhâ n tạo ngày luận lý đơn giản Bật/Tắt công tắc 76 Máy tính tiêu chuẩn Hình 2.1 - - Cao Máy tính trí tuệ nhân tạo tương lai Con người Trước bước vào tìm hiểu trí tuệ nhân tạo, nhắc lại định nghóa nhiều nhà khoa học chấp nhận Mục tiêu ngành khoa học trí tuệ nhân tạo ? Tạo máy tính có khả nhận thức, suy luận phản ứng Nhận thức hiểu khả quan sát, học hỏi, hiểu biết kinh nghiệm giới xung quanh Quá trình nhận thức giúp người có tri thức Suy luận khả vận dụng tri thức sẵn có để phản ứng với tình hay vấn đề - toán gặp phải sống Nhận thức suy luận để từ đưa phản ứng thích hợp ba hành vi nói đặc trưng cho trí tuệ người (Dó nhiên yếu tố tình cảm Nhưng không đề cập đến đây!) Do đó, ngạc nhiên muốn tạo máy tính thông minh, ta cần phải trang bị cho khả Cả ba khả cần đến yếu tố tri thức Dưới góc nhìn tập sách này, xây dựng trí tuệ nhân tạo tìm cách biểu diễn tri thức, tìm cách vận dụng tri thức để giải vấn đề tìm cách bổ sung tri - - 77 thức cách “phát hiện” tri thức từ thông tin sẵn có (máy học) II THÔNG TIN, DỮ LIỆU VÀ TRI THỨC Tri thức khái niệm trừu tượng Do đó, không cố gắng đưa định nghóa hình thức xác Thay vào đó, cảm nhận khái niệm “tri thức” cách so sánh với hai khái niệm khác thông tin liệu Nhà bác học tiếng Karan Sing nói “Chúng ta ngập chìm biển thông tin lại khát tri thức” Câu nói làm bật khác biệt lượng lẫn chất hai khái niệm thông tin tri thức Trong ngữ cảnh ngành khoa học máy tính, người ta quan niệm liệu số, chữ cái, hình ảnh, âm mà máy tính tiếp nhận xử lý Bản thân liệu thường ý nghóa người Còn thông tin tất mà người cảm nhận cách trực tiếp thông qua giác quan (khứu giác, vị giác, thính giác, xúc giác, thị giác giác quan thứ 6) gián tiếp thông qua phương tiện kỹ thuật tivi, radio, cassette, Thông tin người có ý nghóa định Với phương tiện máy tính (mà cụ thể thiết bị đầu ra), người 78 - - tiếp thu phần liệu có ý nghóa Nếu so lượng, liệu thường nhiều thông tin Mức độ trừu tượng TRI THỨC THÔNG TIN DỮ LIỆU Số lượng Hình 2.2 Cũng quan niệm thông tin quan hệ liệu Các liệu xếp theo thứ tự tập hợp lại theo quan hệ chứa đựng thông tin Nếu quan hệ cách rõ ràng tri thức Chẳng hạn : Trong toán học : Bản thân số riêng lẻ 1, 1, 3, 5, 2, 7, 11 liệu Tuy nhiên, đặt chúng lại với theo trật tự chúng bắt đầu có mối liên hệ Dữ liệu : 1, 1, 2, 3, 5, 8, 13, 21, 34 - - 79 Mối liên hệ biểu diễn công thức sau : Un = Un-1 + Un-2 Công thức nêu tri thức Trong vật lý : Bản sau cho biết số đo điện trở (R), điện (U) cường độ dòng điện (I) mạch điện I 2.5 7.3 U 10 20 12 14.6 R Bản thân số cột ý nghóa ta tách rời Nhưng đặt kế nhau, chúng cho thấy có liên hệ Và mối liên hệ diễn tả công thức đơn giản sau : I U R Công thức tri thức 80 - - Trong sống hàng ngày : Hằng ngày, người nông dân quan sát thấy tượng nắng, mưa, râm chuồn chuồn bay Rất nhiều lần quan sát, họ có nhận xét sau : Chuồn chuồn bay thấp mưa, Bay cao nắng, bay vừa râm Lời nhận xét tri thức Có quan điểm cho mối liên hệ tường minh (có thể chứng minh được) liệu xem tri thức Còn mối quan hệ không tường minh không công nhận Ở đây, ta quan niệm rằng, mối liên hệ liệu xem tri thức, vì, mối liên hệ thực tồn Điểm khác biệt chưa phát mà Rõ ràng “dù trái đất xoay quanh mặt trời” dù tri thức có Galilê phát hay không! Như vậy, so với liệu tri thức có số lượng nhiều Thuật ngữ không đơn giản dấu nhỏ bình thường mà kết tinh cô đọng lại Bạn hình dung liệu điểm mặt phẳng tri thức phương trình đường cong nối tất điểm lại Chỉ cần phương trình đường cong ta biểu diễn vô số điểm! Cũng vậy, cần có kinh nghiệm, nhận xét từ hàng đống số liệu thống kê, không, - - 81 ngập chìm biển thông tin nhà bác học Karan Sing cảnh báo! Người ta thường phân loại tri thức làm dạng sau Tri thức kiện : khẳng định kiện, khái niệm (trong phạm vi xác định) Các định luật vật lý, toán học thường xếp vào loại (Chẳng hạn : mặt trời mọc đằng đông, tam giác có ba góc 600 ) Tri thức thủ tục : thường dùng để diễn tả phương pháp, bước cần tiến hành, trình từ hay ngắn gọn cách giải vấn đề Thuật toán, thuật giải dạng tri thức thủ tục Tri thức mô tả : cho biết đối tượng, kiện, vấn đề, khái niệm thấy, cảm nhận, cấu tạo (một bàn thường có bốn chân, người có hai tay, hai mắt ) Tri thức heuristic : dạng tri thức cảm tính Các tri thức thuộc loại thường có dạng ước lượng, đoán, thường hình thành thông qua kinh nghiệm 82 - - Trên thực tế, có trí tuệ mà không cần đến tri thức (liệu có đại kiện tướng cờ vua mà đánh cờ cờ quan trọng không?) Tuy tri thức không định thông minh (người biết nhiều định lý toán chưa giải toán giỏi hơn!) yếu tố cấu thành trí thông minh Chính vậy, muốn xây dựng trí thông minh nhân tạo, ta cần phải có yếu tố Từ đặt vấn đề … Các phương pháp đưa tri thức vào máy tính gọi biểu diễn tri thức III THUẬT TOÁN – MỘT PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC? Trước trả lời câu hỏi trên, bạn thử nghó xem, liệu chương trình giải phương trình bậc hai xem chương trình có tri thức hay không? Có ! Vậy tri thức nằm đâu? Tri thức giải phương trình bậc hai thực chất mã hóa dạng câu lệnh if then else chương trình Một cách tổng quát, khẳng định tất chương trình máy tính nhiều có tri thức Đó tri thức lập trình viên chuyển thành câu lệnh chương trình Bạn thắc mắc “như đưa tri thức vào máy tính lại vấn đề ? (vì từ trước tới đã, tiếp tục làm mà?)” Đúng thật, vấn đề nằm chỗ, tri thức chương - - 83 trình truyền thống tri thức “cứng”, nghóa thêm vào hay điều chỉnh chương trình biên dịch Muốn điều chỉnh phải tiến hành sửa lại mã nguồn chương trình (rồi sau biên dịch lại) Mà thao tác sửa chương trình có lập trình viên làm Điều làm giảm khả ứng dụng chương trình (vì đa số người dùng bình thường lập trình) Bạn thử nghó xem, với chương trình hỗ trợ định (như đầu tư cổ phiếu, đầu tư bất động sản chẳng hạn), liệu người dùng có cảm thấy thoải mái không muốn đưa vào chương trình kiến thức phải chọn hai cách (1) tự sửa lại mã chương trình!? (2) tìm tác giả chương trình để nhờ người sửa lại!? Cả hai thao tác chấp nhận người dùng bình thường Họ cần có cách để họ đưa tri thức vào máy tính cách dễ dàng, thuận tiện giống họ đối thoại với người Để làm điều này, cần phải “mềm” hóa tri thức biểu diễn máy tính Xét cho cùng, chương trình máy tính gồm hai thành phần mã lệnh liệu Mã lệnh ví phần cứng chương trình liệu xem phần mềm (vì thay đổi người dùng) Do đó, “mềm” hóa tri 84 - - mà trình gọi trình “đâm chồi” Cây mà xây dựng gọi định danh Đến đây, lại gặp vấn đề Nếu ban đầu ta không chọn thuộc tính màu tóc để phân hoạch mà chọn thuộc tính khác chiều cao chẳng hạn để phân hoạch sao? Cuối cách phân hoạch tốt hơn? Vấn đề mà gặp phải tương tự toán tìm kiếm : “Đứng trước ngã rẽ, ta cần phải vào hướng nào?” Hai phương pháp đánh giá giúp ta chọn thuộc tính phân hoạch bước xây dựng định danh II.2.1 Quinlan Quinlan định thuộc tính phân hoạch cách xây dựng vector đặc trưng cho giá trị thuộc tính dẫn xuất thuộc tính mục tiêu Cách tính cụ thể sau : Với thuộc tính dẫn xuất A sử dụng để phân hoạch, tính : VA(j) = ( T(j , r1), T(j , r2) , …, T(j , rn) ) - - 159 T(j, ri) = (tổng số phần tử phân hoạch có giá trị thuộc tính dẫn xuất A j có giá trị thuộc tính mục tiêu ri ) / ( tổng số phần tử phân hoạch có giá trị thuộc tính dẫn xuất A j ) * r1, r2, … , rn giá trị thuộc tính mục tiêu *  T(j, r )  i i Như thuộc tính A nhận năm giá trị khác có năm vector đặc trưng Một vector V(Aj ) gọi vector đơn vị có thành phần có giá trị thành phần khác có giá trị Thuộc tính chọn để phân hoạch thuộc tính có nhiều vector đơn vị Trở lại ví dụ chúng ta, trạng thái ban đầu (chưa phân hoạch) tính vector đặc trưng cho thuộc tính dẫn xuất để tìm thuộc tính dùng để phân hoạch Đầu tiên thuộc tính màu tóc Thuộc tính màu tóc có ba giá trị khác (vàng, đỏ, nâu) nên có ba vector đặc trưng tương ứng : VTóc (vàng) = ( T(vàng, cháy nắng), T(vàng, không cháy nắng) ) Số người tóc vàng : Số người tóc vàng cháy nắng : Số người tóc vàng không cháy nắng : 160 - - Do VTóc(vàng) = (2/4 , 2/4) = (0.5, 0.5) Tương tự VTóc(nâu) = (0/3, 3/3) = (0,1) (vector đơn vị) Số người tóc nâu : Số người tóc nâu cháy nắng : Số người tóc nâu không cháy nắng : VTóc(đỏ) = (1/1, 0/1) = (1,0) (vector đơn vị) Tổng số vector đơn vị thuộc tính tóc vàng Các thuộc tính khác tính tương tự, kết sau : VC.Cao(Cao) = (0/2,2/2) = (0,1) VC.Cao(T.B) = (2/3,1/3) VC.Cao(Thấp) = (1/3,2/3) VC.Nặng (Nhẹ) = (1/2,1/2) VC.Nặng (T.B) = (1/3,2/3) VC.Nặng (Nặng) = (1/3,2/3) VKem (Có) = (3/3,0/3) = (1,0) VKem (Khoâng) = (3/5,2/5) - - 161 Như thuộc tính màu tóc có số vector đơn vị nhiều nên chọn để phân hoạch Sau phân hoạch theo màu tóc xong, có phân hoạch theo tóc vàng (Pvàng) chứa người cháy nắng không cháy nắng nên ta tiếp tục phân hoạch tập Ta thực thao tác tính vector đặc trưng tương tự thuộc tính lại (chiều cao, cân nặng, dùng kem) Trong phân hoạch Pvàng, tập liệu lại : Tên Sarah Dana Annie Kartie Chiều cao T.Bình Cao Thấp Thấp Cân nặng Nhẹ T.Bình T.Bình Nhẹ VC.Cao(Cao) = (0/1,1/1) = (0,1) VC.Cao(T.B) = (1/1,0/1) = (1,0) VC.Cao(Thấp) = (1/2,1/2) VC.Nặng (Nhẹ) = (1/2,1/2) VC.Nặng (T.B) = (1/2,1/2) VC.Nặng (Nặng) = (0,0) VKem (Có) = (0/2,2/2) = (0,1) VKem (Khoâng) = (2/2,0/2) = (1,0) 162 - - Dùng kem? Không Có Không Có Kết Cháy Không Cháy Không Hai thuộc tính dùmg kem chiều cao có hai vector đơn vị Tuy nhiên, số phân hoạch thuộc tính dùng kem nên ta chọn phân hoạch theo thuộc tính dùng kem Cây định danh cuối sau : Màu tóc Sarah Dana Annie Kartie Emmile Dùng kem Có Alex Peter John Không Dana Kartie Sarah Annie II.2.2 Độ đo hỗn loạn Thay phải xây dựng vector đặc trưng phương pháp Quinlan, ứng với thuộc tính dẫn xuất ta cần tính độ đo hỗn loạn lựa chọn thuộc tính có độ đo hỗn loại thấp Công thức tính sau : TA =  bj       b r i  log   b r i    j  b i  b 2  t j  b j    : bt tổng số phần tử có phân hoạch - - 163 bj tổng số phần tử có thuộc tính dẫn xuất A có giá trị j bri : tổng số phần tử có thuộc tính dẫn xuất A có giá trị j thuộc tính mục tiêu có giá trị i Nguyên tắc phát sinh tập luật từ định danh đơn giản Ứng với nút lá, ta việc từ đỉnh nút phát sinh luật tương ứng Cụ thể từ định danh kết cuối phần II.2 ta có luật sau (xét nút từ trái sang phải) (Màu tóc vàng) (có dùng kem)  không cháy nắng (Màu tóc vàng) (không dùng kem)  cháy nắng (Màu tóc nâu)  không cháy nắng (Màu tóc đỏ)  cháy nắng Khá đơn giản phải không? Có lẽ phải nói thêm Chúng ta thực bước cuối tối ưu tập luật II.4.1 Loại bỏ mệnh đề thừa Khác so với phương pháp loại bỏ mệnh đề thừa trình bày phần biểu diễn tri thức (chỉ quan tâm đến logic hình thức), phương pháp loại bỏ mệnh đề thừa dựa vào liệu Với ví dụ tập luật có phần trước, bạn quan sát luật sau : 164 - - (Màu tóc vàng) (có dùng kem)  không cháy nắng Bây ta lập bảng (gọi bảng Contigency), bảng thống kê người có dùng kem tương ứng với tóc màu vàng bị cháy nắng hay không Trong liệu cho, có ba người không dùng kem Không cháy nắng Màu vàng Màu khác Cháy nắng 0 Theo bảng thống kê rõ ràng thuộc tính tóc vàng (trong luật trên) không đóng góp việc đưa kết luận cháy nắng hay không (cả ba người dùng kem không cháy nắng) nên ta loại bỏ thuộc tính tóc vàng khỏi tập luật Sau loại bỏ mệnh đề thừa, tập mệnh đề ví dụ : (co ù dùng kem)  không cháy nắng (Màu tóc vàng) (không dùng kem)  cháy nắng (Màu tóc nâu)  không cháy nắng (Màu tóc đỏ)  cháy nắng Như quy tắc chung để loại bỏ mệnh đề nào? Rất đơn giản, giả sử luật có n mệnh đề : A1 A2 … An  R - - 165 Để kiểm tra xem loại bỏ mệnh đề Ai hay không, bạn lập tập hợp P bao gồm phần tử thỏa tất mệnh đề A1 , A2 , … Ai-, Ai+1, …, An (lưu ý : không cần xét có thỏa Ai hay không, cần thỏa mệnh đề lại được) Sau đó, bạn lập bảng Contigency sau : Ai Ai R E G R F H E số phần tử P thỏa Ai R F số phần tử P thỏa Ai không thỏa R G số phần tử P không thỏa Ai thỏa R H số phần tử P không thỏa Ai không thỏa R Nếu tổng F + H = loại bỏ mệnh đề Ai khỏi luật II.4.2 Xây dựng mệnh đề mặc định Có vấn đề đặt gặp phải trường hợp mà tất luật không thỏa phải làm nào? Một cách hành động đặt luật mặc định : Nếu luật thỏa  cháy nắng (1) Hoặc 166 - - Nếu luật thỏa  không cháy nắng (2) (chỉ có hai luật thuộc tính mục tiêu nhận hai giá trị cháy nắng hay không cháy nắng) Giả sử ta chọn luật mặc định (2) tập luật trở thành : (Màu tóc vàng) (không dùng kem)  cháy nắng (Màu tóc đỏ)  cháy nắng Nếu luật thỏa  không cháy nắng (2) Lưu ý loại bỏ tất luật dẫn đến kết luận không cháy nắng thay luật mặc định Tại vậy? Bởi luật có kết luận với luật mặc định Rõ ràng có hai khả cháy nắng hay không Vấn đề chọn luật nào? Sau số quy tắc 1) Chọn luật mặc định cho thay cho nhiều luật (trong ví dụ ta nguyên tắc không áp dụng có hai luật dẫn đến cháy nắng hai luật dẫn đến không cháy nắng) 2) Chọn luật mặc định có kết luận phổ biến Trong ví dụ nên chọn luật (2) số trường hợp không cháy nắng không cháy nắng 3) Chọn luật mặc định cho tổng số mệnh đề luật mà thay nhiều Trong ví dụ chúng - - 167 ta luật chọn luật (1) tổng số mệnh đề luật dẫn đến cháy nắng tổng số mệnh đề luật dẫn đến không cháy nắng 168 - - BÀI TẬP CHƯƠNG 1) Viết chương trình giải toán hành trình người bán hàng rong hai thuật giải GTS1 GTS2 trường hợp có n địa điểm khác 2) Viết chương trình giải toán phân công công việc cách ứng dụng nguyên lý thứ tự 3) Ứng dụng nguyên lý thứ tự, giải toán chia đồ vật sau Có n vật với khối lượng M1, M2, … Mn Hãy tìm cách chia n vật thành hai nhóm cho chênh lệch khối lượng hai nhóm nhỏ 4) Viết chương trình giải toán mã tuần 5) Viết chương trình giải toán hậu 6) Viết chương trình giải toán Ta-canh thuật giải A* 7) Viết chương trình giải toán tháp Hà Nội thuật giải A* 8) Viết chương trình tìm kiếm đường ngắn đồ tổng quát Bản đồ biểu diễn - - 169 mảng hai chiều A, A[x,y] = A[x,y] = vật cản Cho phép người dùng click chuột hình để tạo đồ xác định điểm xuất phát kết thúc Chi phí để từ ô sang ô kế cận Mở rộng toán trường hợp chi phí để di chuyển từ ô (x,y) sang kế (x,y) A[x,y] CHƯƠNG 1) Viết chương trình minh họa bước giải toán đong nước (sử dụng đồ họa tốt) 2) Viết chương trình cài đặt hai thuật toán Vương Hạo Robinson liệt kê bước chứng minh biểu thức logic 3) Viết chương trình giải toán tam giác tổng quát mạng ngữ nghóa (lưu ý sử dụng thuật toán ký pháp nghịch đảo Ba Lan) 4) Hãy thử xây dựng luật phức tạp ví dụ trình bày dùng để chuẩn đoán hỏng hóc máy tính Viết chương trình ứng dụng luật việc chuẩn đoán hỏng hóc máy tính (sử dụng thuật toán suy diễn lùi) 170 - - 5) Hãy cài đặt frame đặc tả đối tượng hình học kỹ thuật hướng đối tượng ngôn ngữ lập trình mà bạn quen dùng Hãy xây dựng ngôn ngữ script đơn giản cho phép người dùng sử dụng frame việc giải số toán hình học đơn giản CHƯƠNG 1) Cho bảng số liệu sau Hãy xây dựng định danh tìm luật để xác định người Châu Âu hay Châu Á hai phương pháp vector đặc trưng Quinlan độ đo hỗn loạn STT Dáng To Nhỏ Nhỏ To Nhỏ Nhỏ Nhoû To Cao TB Cao TB Cao TB Cao Cao TB Giới Nam Nam Nam Nam Nữ Nam Nữ Nữ Châu Á Á Âu Âu Âu Âu Âu Âu 2)* Viết chương trình cài đặt tổng quát thuật toán học dựa việc xây dựng định danh Chương trình yêu cầu người dùng đưa vào danh sách thuộc tính dẫn xuất, thuộc tính mục tiêu với tất giá trị thuộc tính; yêu cầu người dùng cung cấp bảng - - 171 số liệu quan sát Chương trình liệt kê lên hình luật mà tìm từ bảng số liệu Sau đó, yêu cầu người dùng nhập vào trường hợp cần xác định, hệ thống đưa kết luận trường hợp Lưu ý : Nên sử dụng hệ quản trị CSDL để cài đặt chương trình 172 - - TÀI LIỆU THAM KHẢO Bạch Hưng Khang, Hoàng Kiếm Trí tuệ nhân tạo: Các phương pháp ứng dụng, Nhà xuất Khoa học Kỹ thuật, 1989 John Durkin Expert System, Prentice Hall, 1994 N Nilson Artificial Intelligence, McGrawhill, 1971 Patrick Henry Winston Artificial Intelligence, Addison Wesley, 1992 Rich Elaine Artificial Intelligence, Addison Wesley, 1983 - - 173 ... thương, ghét Ngành trí tuệ nhân tạo có bước tiến đáng kể, trí tuệ nhân tạo thực có phim khoa học giả tưởng Hollywood Vậy nghiên cứu trí tuệ nhân tạo? Điều tương tự ước mơ chế tạo vàng nhà giả kim... Hình 2. 1 - - Cao Máy tính trí tuệ nhân tạo tương lai Con người Trước bước vào tìm hiểu trí tuệ nhân tạo, nhắc lại định nghóa nhiều nhà khoa học chấp nhận Mục tiêu ngành khoa học trí tuệ nhân tạo. .. đoạn chương trình giao tiếp với người dùng Như vậy, so với chương trình truyền thống (được cấu tạo từ hai “chất liệu” liệu thuật toán), chương trình trí tuệ nhân tạo cấu tạo từ hai thành phần sở

Ngày đăng: 03/12/2015, 01:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan