Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 45 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
45
Dung lượng
1,53 MB
Nội dung
TRƯỜNG ĐẠI HOC CÔNG NGHỆ THÔNG TIN TPHCM BÁO CÁO THU HOẠCH MÔN HỌC HỆ HỖ TRỢ QUYẾT ĐỊNH Đề tài: TÌM HIỂU VÀ XÂY DỰNG HỆ CHUYÊN GIA HỖ TRỢ QUYẾT ĐỊNH CHỌN NGÀY GIỜ KHAI TRƯƠNG GVHD : PGS.TS ĐỖ PHÚC HVTH : Trương Thị Tuyết Hoa – MSHV: CH1301014 LỚP : Cao học khoá 8 TP HCM, Tháng 6 năm 2014 2 LỜI MỞ ĐẦU Thực tế, có ngày mọi việc mọi điều đều thành công, nhiều điều may mắn tự nhiên đưa tới; có ngày vất vả sớm chiều mà chẳng được việc gì, còn gặp tai nạn bất ngờ. Thế nên từ xưa, người ta đã biết dựa vào Kinh Dịch để chọn giờ tốt, ngày tốt, tháng tốt, năm tốt (gọi là tứ trụ cát) khởi đầu bất cứ việc gì. Những tri thức được lưu giữ trong Kinh Dịch ngày càng được phát huy trong thời đại công nghệ thông tin. Con người có thể dùng công cụ biểu diễn tri thức hiện đại kết hợp với các chuyên gia trong lĩnh vực kinh dịch xây dựng hệ chuyên gia để khai thác hệ thống tri thức có nhiều vẻ huyền bí này, tính toán để biết trước ngày tốt, ngày xấu của mỗi người, từ đó hỗ trợ giúp con người có những lựa chọn đúng đắn và phù hợp với qui luật biến đổi của vũ trụ. Trong phạm vi bài thu hoạch này, tôi xin trình bày những kiến thức học được, tìm hiểu được về hệ chuyên gia và viết một chương trình hệ chuyên gia về một phần nhỏ kiến thức trong Kinh Dịch dự đoán để dự đoán ngày giờ tốt xấu trong việc khai trương, mở kho, nhập kho, cất vật quý. Qua đây tôi xin chân thành cảm ơn PGS.TS Đỗ Phúc đã tận tình hướng dẫn tôi môn học bổ ích và đầy ý nghĩa này. Cảm ơn các bạn cùng khoá và các anh chị khoá trước đã giúp đỡ tìm tài liệu và góp ý cho tôi hoàn thành tốt bài thu hoạch này! 3 MỤC LỤC 4 NỘI DUNG Chương I. HỆ CHUYÊN GIA I.1.Một số định nghĩa về hệ chuyên gia - Theo E. Feigenbaum: “Hệ chuyên gia là một chương trình máy tính thông minh sử dụng tri thức (knowledge) và các thủ tục suy luận (inference procedures) để giải những bài toán tương đối khó khăn đòi hỏi các chuyên gia mới giải quyết được”. - Hệ chuyên gia là 1 hệ thống tin học có thể mô phỏng năng lực quyết đoán và hành động của một chuyên gia. - Hệ chuyên gia là một trong những lĩnh vực ứng dụng của Trí tuệ nhân tạo. - Hệ chuyên gia là một khái niệm có tính ước mơ, trong đó người ta mong muốn tạo ra được những chương trình máy tính có khả năng vận dụng tri thức (đã được lưu trữ từ trước) để giải quyết những vấn đề khó khăn, phức tạp mà bình thường chỉ có kiến thức thực sự của một con người mới có thể giải quyết được. Bằng cách lưu trữ tri thức và giả lập quá trình suy luận, phản ứng của các chuyên gia trong những tình huống đặc trưng, người ta mong muốn rằng các hệ chuyên gia sẽ tạo cho người dùng có cảm giác là họ đang làm việc với một chuyên gia thực trong lĩnh vực cụ thể nào đó. Do vậy, một trong những ứng dụng hiển nhiên nhất của các hệ chuyên gia là làm một công cụ giúp những người bình thường giải quyết vấn đề cũng như tự nâng cao khả năng giải quyết vấn đề của mình. Thậm chí, ngay cả những chuyên gia thực thụ cũng sẽ sử dụng các hệ chuyên gia như là một trợ lí về mặt kiến thức. (theo GS TSKH Hoàng Văn Kiếm) I.2.Đặc trưng và ưu điểm của hệ chuyên gia Có bốn đặc trưng cơ bản: • Hiệu quả cao: Khả năng trả lời với mức độ tinh thông bằng hoặc cao hơn so với chuyên gia (người) trong cùng lĩnh vực. • Thời gian trả lời thỏa đáng: Thời gian trả lời hợp lý, bằng hoặc nhanh hơn so với chuyên gia (người) để đi đến cùng một quyết định. • Độ tin cậy cao: Không thể xảy ra sự cố hoặc giảm sút độ tin cậy khi sử dụng. • Dễ hiểu: Hệ chuyên gia giải thích các bước suy luận một cách dễ hiểu và nhất quán. Những ưu điểm của hệ chuyên gia : 5 • Phổ cập: Là sản phẩm chuyên gia, được phát triển không ngừng với hiệu quả sử dụng không thể phủ nhận. • Giảm giá thành. • Giảm rủi ro: Giúp con người tránh được rủi ro trong các môi trường nguy hiểm. • Tính thường trực: Bất kể lúc nào cũng có thể khai thác sử dụng. Trong khi con người có thể mệt mỏi, nghỉ ngơi hay vắng mặt. • Đa lĩnh vực: Chuyên gia về nhiều lĩnh vực khác nhau và được khai thác đồng thời bất kể thời gian sử dụng. • Độ tin cậy. • Khả năng giảng giải: Câu trả lời với mức độ tinh thông được giảng giải rõ ràng, chi tiết, dễ hiểu. • Khả năng trả lời nhanh. • Tính ổn định, suy luận có lý và đầy đủ mọi lúc mọi nơi. • Trợ giúp thông minh như một người hướng dẫn. • Có thể truy cập như là một cơ sở dữ liệu thông minh. I.3. lĩnh vực ứng dụng của hệ chuyên gia Tính đến thời điểm này, hàng trăm hệ chuyên gia đã được xây dựng và báo cáo thường xuyên trong các tạp chí, sách báo và hội thảo khoa học. Ngoài ra còn các hệ chuyên gia được sử dụng trong các công ty, các tổ chức quân sự mà không được công bố vì lí do bảo mật. Dưới đây là một số lĩnh vực ứng dụng diện rộng của các hệ chuyên gia : Lĩnh vực Ứng dụng diện rộng Cấu hình Tập hợp thích đáng những thành phần của một hệ thống theo cách riêng Chẩn đoán Lập luận dựa trên những chứng cứ quan sát được Truyền đạt Dạy học kiểu thông minh sao cho sinh viên có thể hỏi Giải thích Giải thích những dữ liệu thu nhận được Kiểm tra So sánh dữ liệu thu lượm được với chuyên môn để đánh giá hiệu quả Lập kế hoạch Lập kế hoạch sản xuất theo yêu cầu Dự đoán Dự đoán hậu quả từ một tình huống xảy ra Chữa trị Chỉ định cách thụ lý một vấn đề Điều khiển Điều khiển một quá trình, đòi hỏi diễn giải, chẩn đoán, kiểm tra, lập kế hoạch, dự đoán và chữa trị I.4.Cấu trúc chung của một hệ chuyên gia Mọi hệ chuyên gia thường bao gồm 2 thành phần chính là môi trường phát triển và môi trường tham vẫn. Những người phát triển sẽ sử dụng môi trường phát triển để xây dựng các thành phần của hệ thống và cũng để chuyển tải tri thức vào cơ sở tri thức. Người sử dụng sẽ sử dụng môi trường tham vẫn để khai 6 thác các tri thức trong hệ thống phục vụ cho các mục đích của họ. Các thành phần thường thấy ở một hệ chuyên gia là: • Một cơ sở tri thức: Dùng để lưu trữ toàn bộ tri thức có liên quan đến lĩnh vực làm việc của hệ chuyên gia. Đây là thành phần quyết định sự thành công hay thất bại của các hệ chuyên gia. Trong đó, tri thức dạng luật là kiểu biểu diễn tri thức thường được dùng nhất trong các hệ chuyên gia. • Hệ thống thu nhận tri thức: Bao gồm các chức năng dùng để thu nhận, tích luỹ tri thức từ các nhà phát triển (hoặc người dùng) để sau đó chuyển tải vào cơ sở tri thức. • Hệ thống tối ưu tri thức: Cho phép loại bỏ các tri thức mâu thuẫn hoặc trùng lắp trong cơ sở tri thức, tăng tốc quá trình truy xuất cơ sở tri thức. • Động cơ suy diễn: Cho phép hệ thống suy luận dựa trên các tri thức trong cơ sở tri thức để giải quyết vấn đề do người dùng đặt ra. • Hệ thống giải thích, diễn giải: Bao gồm các chức năng liên quan đến việc diễn giải, giải thích tại sao và bằng cách nào hệ chuyên gia lại đưa ra các lời giải, lời khuyên hoặc tri thức liên quan đến vấn đề cần giải quyết. • Môi trường làm việc chung: Cho phép liên kết các kiểu tri thức khác nhau cũng như các phương pháp suy luận khác nhau cùng hoạt động để tìm ra lời giải cho vấn đề đặt ra. • Các dịch vụ giao diện người dùng: Cho phép hệ chuyên gia có thể giao tiếp với người dùng thông qua ngôn ngữ thế giới thực. Hình: Cấu trúc chung của một hệ chuyên gia 7 I.5.Biểu diễn tri thức trong các hệ chuyên gia I.5.1. Tri thức và các loại tri thức - Tri thức là kết quả của quá trình nhận thức, học tập và lập luận - Tri thức là tập các thông tin được phát biểu một cách tường minh. - Người ta phân loại tri thức như sau: Tri thức sự kiện : là các khẳng định về một sự kiện, khái niệm nào đó (trong một phạm vi xác định). Các định luật vật lý, toán học, thường được xếp vào loại này (Chẳng hạn : mặt trời mọc ở đằng Đông, tam giác đều có 3 góc 60 0 , ) Tri thức thủ tục : thường dùng để diễn tả phương pháp, các bước cần tiến hành, trình tự ngắn gọn cách giải quyết một vấn đề. Thuật toán, thuật giải là một dạng của tri thức thủ tục. Tri thức mô tả : cho biết một đối tượng, sự kiện, vấn đề, khái niệm, được thấy, cảm nhận, cấu tạo như thế nào (một cái bàn thường có 4 chân, con người có 2 tay, 2 mắt, ) Tri thức Heuristic : là một dạng tri thức cảm tính. Các tri thức thuộc loại này thường có dạng ước lượng, phỏng đoán, và thường được hình thành thông qua kinh nghiệm. Siêu tri thức: mô tả tri thức về tri thức. Loại tri thức này giúp lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải quyết một vấn đề Tri thức có cấu trúc: mô tả tri thức theo cấu trúc. Loại tri thức này mô tả mô hình tổng quan hệ thốgn theo quan điểm của chuyên gia, bao gồm khái niệm, khái niệm con, và các đối tượng, diễn tả chức năng và mối liên hệ giữa các tri thức dựa theo cấu trúc nhất định. I.5.2. Phương pháp biểu diễn tri thức Biểu diễn tri thức là một phương pháp mã hóa tri thức sao cho máy tính có thể xử lý được chúng.Cũng như dữ liệu, có nhiều cách khác nhau để biểu diễn tri thức trong máy tính như: logic mệnh đề và vị từ, đối tượng thuộc tính giá trị, tri thức luật dẫn, mạng ngữ nghĩa, frame I.6.Kỹ thuật suy luận trong các hệ chuyên gia • Suy diễn tiến (forward chaining): là quá trình suy luận xuất phát từ một số sự kiện ban đầu, xác định các sự kiên có được “sinh” ra từ các sự kiện này. Ví dụ: Có luật: Nếu trời mưa không đi học và sự kiện Trời mưa, kết luận không đi học • Suy diễn lùi (backward chaining): Là quá trình suy luận ngược xuất phát từ một số sự kiện ban đầu, ta tìm kiếm các sự kiện đã “sinh” ra sự kiện này.Từ 8 một giải thuyết (như là kết luận), hệ thống đưa ra trả lời là các sự kiện cơ sở đưa đến giả thuyết này. Ví dụ: Nếu có sự kiện một người học giỏi và chăm chỉ, hệ chuyên gia có thể kết luận là thi đậu. Để củng cố giả thuyết này hệ chuyên gia sẽ hỏi “Có phải thi đậu không?”. I.7.Xây dựng hệ chuyên gia III.7.1. Một số bước cơ bản để xây dựng hệ chuyên gia Xây dựng một hệ chuyên gia là một quá trình lâu dài, phức tạp, nhiều lúc phải kéo dài hàng năm trời. Bên cạnh các yếu tố kĩ thuật, quá trình xây dựng hệ chuyên gia còn liên quan mật thiết đến một yếu tố hết sức nhạy cảm và khó khăn là con người (nguồn cung cấp tri thức). Các bước cơ bản để xây dựng hệ chuyên gia như sau: a. Tiếp cận chuyên gia: Đây là một bước mang tính quyết định đối với sự thành bại của hệ chuyên gia. Ở bước này, phải đảm bảo rằng chúng ta đã tìm đúng người (các chuyên gia thực sự trong lĩnh vực mà chúng ta muốn xây dựng hệ chuyên gia) và thuyết phục được các chuyên gia hỗ trợ chúng ta trong việc xây dựng hệ chuyên gia. b. Tổ chức thu thập tri thức: Sắp xếp và tổ chức lại các tri thức do các chuyên gia cung cấp, tìm cách biến đổi lại các tri thức về dạng thích hợp để lưu trữ trong cơ sở tri thức. c. Chọn lựa công cụ phát triển hệ chuyên gia: - Khi lựa chọn công cụ cần chú ý hai yếu tố cơ bản : phù hợp với mục tiêu đề ra và độ tin cậy của công cụ (thời gian thi hành, độ ổn định, độ chính xác, ) - Các công cụ phục vụ cho việc xây dựng các hệ chuyên gia được chia làm ba loại chính: • Các loại ngôn ngữ lập trình trí tuệ nhân tạo (như LISP, PROLOG) • Các ngôn ngữ lập trình thông dụng • Các hệ cơ sở tri thức rỗng 9 Hình: Các vai trò chính trong quá trình xây dựng và ứng dụng một hệ chuyên gia. I.7.2. Thuật toán tổng quát để xây dựng hệ chuyên gia Thuật toán tổng quát để xây dựng hệ chuyên gia (ES) Begin Chọn bài toán thích hợp Phát biểu và đặc tả bài toán If ES giải quyết thỏa mãn bài toán và có thể sử dụng Then While Bản mẫu chưa được phát triển hoàn thiện Do Begin Thiết kế bản mẫu Biểu diễn tri thức Tiếp nhận tri thức Phát triển hoàn thiện bản mẫu End Hợp thức hóa bản mẫu Triển khai cài đặt Hướng dẫn sử dụng 10 Vận hành Bảo trì và phát triển Else Tìm cách tiếp cận khác thích hợp hơn Endif Kết thúc End. [...]... lịch 2012 ta chỉ cần tính: Ngày 27-12 là ngày Bính thìn, ngày 28-12 là ngày Đinh Tị, ngày 29-12 là ngày Mậu ngọ, 30-12 là ngày Kỷ mùi và 31-12 là ngày Canh thân Vậy ngày đầu năm Nhâm Thìn sẽ là ngày Tân Dậu (Tất cả các năm khác đều tính tương tự) - II.2.7 Cách tính Can – Chi của Giờ Cách xác định can của giờ theo ngày: Căn cứ vào bảng bên dưới và can của ngày: Lấy STT của can Ngày nhân với 2, sau đó chia... thực hiện công việc để chọn ra ngày phù hợp III.1 Thông tin ban đầu Thông tin ban đầu gồm ngày tháng năm sinh của người muốn xem và tháng muốn khởi sự công việc III.2 Thông tin đích Dữ liệu đích gồm các ngày giờ tốt và điểm của từng ngày giờ tốt chọn được III.3 Hướng xử lí bài toán III.4.1 Việc chọn ngày được thực hiện qua các bước như sau: Bước 1: Chọn ngày tốt căn bản: Khai trương là mở cửa hàng quán... CÀI ĐẶT HỆ CHUYÊN GIA 1 Phát biểu bài toán a Người sử dụng nhập vào ngày, tháng, năm sinh Âm lịch hệ thống sẽ trả lời câu hỏi sau: Sinh vào tháng âm lịch, năm âm lịch thuộc can chi nào? Mạng trong ngũ hành là gì? b Nhập tháng cần khai trương trong năm 2014 hệ thống sẽ chọn ra những ngày tốt trong tháng đó thích hợp làm công việc trên Khi nhập tháng, ta sẽ tìm can - chi của tháng và các ngày nên... truyền, khởi đầu một việc gì, ngoài việc chọn ngày lành tháng tốt còn phải chọn giờ tốt Xuất hành, khởi công xây dựng, khai trương cửa hàng, bắt đầu đi đón dâu, đưa dâu, bắt đầu lễ đưa ma, hạ huyệt đều phải chọn giờ Hoàng Đạo, tránh giờ Hắc Đạo Trừ trường hợp đặc biệt, ví dụ sắp đến giờ tàu xe sắp xuất phát, nếu đợi giờ tốt có khi lỡ kế hoạch hoặc có ngày tốt, giờ tốt nhưng thời tiết rất xấu, chưa khởi... can, chi, mạng Xây dựng các vị từ 2 Luật dẫn Vị từ Giải thích 1 can(Y,Y1) Xác định thiên can Y1 dựa vào năm Y 2 chi(Y,Y1) Xác định địa chi Y1 dựa vào năm Y 3 mang(C,Ch,M) Xác định mạng M dựa vào can C và chi Ch 4 chi_hop(C,KQ) Xác định các chi hợp với chi C 5 chi_k_hop(C,KQ) Xác định các chi không hợp với chi C 6 diem_can(C1,C2,D) 7 8 Xác định điểm D cho ngày dựa theo vào so sánh 2 can C1 và C2 hợp hay... Sử dụng ngôn ngữ lập trình Pascal: 1 Tổ chức dữ liệu: Xây dựng cấu trúc ngày tốt cơ bản gồm các thuộc tính can, chi, ngày âm lịch và điểm ban đầu (ngày bình thường được 5 điểm, ngày có Trực không tốt với việc khai trương được 4 điểm, ngày tốt cho việc khai trương được 6 điểm); các mối quan hệ tương sinh- tương khắc của cung mạng ngũ hành, mối quan hệ hạp/kỵ giữa các cung biểu diễn bằng mảng hai chiều;... (quan hệ tương sinh) nên được cộng 1 điểm, còn nếu ngày tốt cơ bản thuộc hành Thuỷ: không tốt vì Thuỷ khắc Hoả nên bị trừ 1 điểm Bước 3: Chọn giờ tốt Khi chọn được ngày lành rồi thì chọn giờ tốt trong ngày để khởi công, khởi sự, là bắt đầu làm cái việc mình định làm ấy Ví dụ: Người xem tuổi Canh Tý, đã xem được ngày Giáp Tý là ngày cao điểm nhất trong các bước trên Tra xem thì thấy ngày Giáp tý có 6 giờ. .. dùng Giờ có một cách tốt và một cách xấu là hạng năm, tạm dùng Giờ có một cách xấu mà không có lẫn một cách tốt là hạng sáu, chẳng nên dùng Giờ có hai cách xấu và một cách tốt là hạng bảy, chẳng nên dùng Giờ có hai cách xấu là hạng tám, quyết không nên dùng Giờ có ba cách xấu là hạng chín, tuyệt đối chẳng nên dùng III.4.2 Sử dụng ngôn ngữ lập trình để cài đặt chương trình chọn ngày giờ tốt để khai trương. .. Can Chi thì cứ 60 ngày là chu kì Can Chi lặp lại Nếu lấy các mốc ngày khác thì sẽ không cố định, không có căn cứ được vì nếu gặp năm nhuận thì tháng 2 dương lịch là 29 ngày (Tháng 2 năm không nhuận chỉ là 28 ngày) Ví dụ: xác định ngày dương lịch năm 2012: Theo lịch năm 2011 ta có ngày 1-3 dương lịch là ngày Ất Mão theo chu kì trên thì ngày 26-12-2011 sẽ là ngày Ất Mão và để tính ngày đầu năm dương... là Ất v.v Để tìm Chi, chia JDN+1 cho 12; số dư 0 là Tý, 1 là Sửu v.v Số ngày JDN được tính theo công thức sau: Cho một ngày trong Julian calendar (lúc trưa): - Phương pháp xác định ngày đầu năm dương lịch Để xác định ngày đầu năm dương lịch, trước hết chúng ta cần biết những mốc thời gian ổn định trong từng năm và có Can Chi ngày giống nhau đó là các ngày 1-3, 30-4, 29-6, 28-8, 27-10, và 26-12 Bởi . CÔNG NGHỆ THÔNG TIN TPHCM BÁO CÁO THU HOẠCH MÔN HỌC HỆ HỖ TRỢ QUYẾT ĐỊNH Đề tài: TÌM HIỂU VÀ XÂY DỰNG HỆ CHUYÊN GIA HỖ TRỢ QUYẾT ĐỊNH CHỌN NGÀY GIỜ KHAI TRƯƠNG GVHD : PGS.TS ĐỖ PHÚC HVTH : Trương. trình xây dựng và ứng dụng một hệ chuyên gia. I.7.2. Thuật toán tổng quát để xây dựng hệ chuyên gia Thuật toán tổng quát để xây dựng hệ chuyên gia (ES) Begin Chọn bài toán thích hợp Phát biểu và. của hệ chuyên gia. Ở bước này, phải đảm bảo rằng chúng ta đã tìm đúng người (các chuyên gia thực sự trong lĩnh vực mà chúng ta muốn xây dựng hệ chuyên gia) và thuyết phục được các chuyên gia hỗ trợ