Ứng dụng mạng tính toán giải bài tập tam giác

33 721 3
Ứng dụng mạng tính toán giải bài tập tam giác

Đ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

MỤC LỤC Trang LỜI NÓI ĐẦU 3 Chương I>Một số phương pháp biểu diễn tri thức 4 1.1 Biểu diễn tri thức sử dụng luật dẫn 4 1.1.1 Khái niệm 4 1.1.2 Cơ chế suy luận trên các luật dẫn 5 1.1.3 Vấn đề tối ưu luật 7 1.1.4 Thuật toán tối ưu tập luật dẫn 9 1.1.5 Ưu điểm và khuyết điểm của biểu diễn tri thức bằng luật 10 1.2 Biểu diễn tri thức bằng mạng ngữ nghĩa 11 1.2.1 Khái niệm 11 1.2.2 Ưu điểm và khuyết điểm của mạng ngữ nghĩa 13 1.3 Biểu diễn tri thức bằng FRAME 14 1.3.1 Khái niệm 14 1.3.2 Cấu trúc Frame 15 1.3.3 Tính kế thừa 16 1.3.4 Ưu điểm và khuyết điểm của cấu trúc Frame 17 1.4 Mạng tính toán 18 1.4.1 Khái niệm 18 1.4.2 Cấu trúc mạng tính toán 18 1.4.3 Một số bài toán trên mạng tính toán 18 1.4.3 Giải quyết bài toán (1) 19 1.4.3 Giải quyết bài toán (2) 20 1.4.3 Giải quyết bài toán (3) 23 1.4.4 Ưu điểm và khuyết điểm của mạng tính toán 23 24 Chương II>Ứng dụng mạng tính toán giải bài tập tam giác 24 1/Phát biểu bài toán 24 2/Mô hình kiến trúc của chương trình 25 3/Hướng dẫn sử dụng chương trình 29 4.1 Một số yêu cầu cài đặt cho việc chạy chương trình 29 4.2 Hướng dẫn chạy chương trình 29 Chương III>Kết luận & Hướng phát triển đề tài 31 1/Kết luận : 31 2/Hướng phát triển đề tài: 32 TÀI LIỆU THAM KHẢO 32 HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 2 LỜI NÓI ĐẦU Sự phát triển của ngành công nghệ thông tin đã đem lại nhiều ứng dụng cho đời sống xã hội, quản lý kinh tế, khoa học kỹ thuật… trong đó một trong những vấn đề hiện nay đang được quan tâm của “trí tuệ nhân tạo” là nghiên cứu các phương pháp biểu diễn và xử lý tri thức để từ đó có thể tạo ra những chương trình thông minh ở một chừng mực nào đó, có thể xử lý một cách tự động như cách suy nghĩ và hành động của của con người. Trong thực tế khi giải quyết một vấn đề người ta thường phải vận dụng một số hiểu biết (tri thức, kinh nghiệm) nào đó có liên đến các yếu tố đang được xem xét và chính việc áp dụng những tri thức đã có này có thể giúp ta suy ra được yếu tố cần tìm hoặc cũng có thể nó tạo thêm được một số yếu tố mới để từ đó có thể dẫn tới được cái yếu tố mà ta đang cần. Trong phạm vi bài tiểu luận này, em sẽ trình bày một số phương pháp biểu diễn tri thức sau dó ứng dụng phương pháp mạng tính toán để phát triển một ứng dụng giải bài tập tam giác. Chương trình được viết với sự kết hợp của ngôn ngữ lập trình Symbolic và C#, ứng với 2 công cụ Mapple 16 và Microsoft Visual Studio 2010. Nhân đây em cũng xin gửi lời cảm ơn chân thành đến thầy PGS.TS Đỗ Văn Nhơn, người đã tận tình giảng dạy và truyền đạt những kiến thức bổ ích trong lĩnh vực công nghệ thông tin nói chung và bộ môn biểu diễn tri thức và ứng dụng nói riêng để giúp em hoàn thành tốt bài luận này. Mặc dù đã rất nỗ lực, cố gắng nhưng do kiến thức và thời gian có phần hạn chế, chắc chắn sẽ có những thiếu sót và bổ sung thêm. Rất mong sự cảm thông và góp ý của thầy. Thân mến, Nguyễn Văn Sang HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 3 Chương I> Một số phương pháp biểu diễn tri thức 1.1 Biểu diễn tri thức sử dụng luật dẫn 1.1.1 Khái niệm Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát. Đây là một kiểu biểu diễn tri thức có cấu trúc. Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một cặp điều kiện – hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành". Chẳng hạn : NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng, NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, … Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ thống trí tuệ nhân tạo khác nhau. Luật sinh có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống. Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm. Một ví dụ khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên gia. Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người. Một cách tổng quát luật sinh có dạng như sau : P 1 ∧ P 2 ∧ ∧ Pn → Q Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau : Trong logic vị từ : P 1 , P 2 , , Pn, Q là những biểu thức logic. Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh. IF (P 1 AND P 2 AND AND Pn) THEN Q. Trong lý thuyết hiểu ngôn ngữ tự nhiên, mỗi luật sinh là một phép dịch : ONE → một. HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 4 TWO → hai. JANUARY → tháng một Để biễu diễn một tập luật sinh, người ta thường phải chỉ rõ hai thành phần chính sau : (1) Tập các sự kiện F(Facts) F = { f 1 , f 2 , fn } (2) Tập các quy tắc R (Rules) áp dụng trên các sự kiện dạng như sau : f 1 ∧ f 2 ∧ ∧ fi → q Trong đó, các fi , q đều thuộc F Ví dụ : Cho 1 cơ sở tri thức được xác định như sau : Các sự kiện : A, B, C, D, E, F, G, H, K Tập các quy tắc hay luật sinh (rule) R1 : A → E R2 : B → D R3 : H → A R4 : E ∧ G → C R5 : E ∧ K → B R6 : D ∧ E ∧ K → C R7 : G ∧ K ∧ F → A 1.1.2 Cơ chế suy luận trên các luật dẫn Suy diễn tiến : 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ó thể được "sinh" ra từ sự kiện này. Sự kiện ban đầu : H, K R3 : H → A {A, H. K } R1 : A → E { A, E, H, H } R5 : E ∧ K → B { A, B, E, H, K } R2 : B → D { A, B, D, E, H, K } R6 : D ∧ E ∧ K → C { A, B, C, D, E, H, K } HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 5 Suy diễn lùi : 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. Một ví dụ thường gặp trong thực tế là xuất phát từ các tình trạng của máy tính, chẩn đoán xem máy tính đã bị hỏng hóc ở đâu. Ví dụ : Tập các sự kiện : • Ổ cứng là "hỏng" hay "hoạt động bình thường" • Hỏng màn hình. • Lỏng cáp màn hình. • Tình trạng đèn ổ cứng là "tắt" hoặc "sáng" • Có âm thanh đọc ổ cứng. • Tình trạng đèn màn hình "xanh" hoặc "chớp đỏ" • Không sử dụng được máy tính. • Điện vào máy tính "có" hay "không" Tập các luật : R1. Nếu ( (ổ cứng "hỏng") hoặc (cáp màn hình "lỏng")) thì không sử dụng được máy tính. R2. Nếu (điện vào máy là "có") và ( (âm thanh đọc ổ cứng là "không") hoặc tình trạng đèn ổ cứng là "tắt")) thì (ổ cứng "hỏng"). R3. Nếu (điện vào máy là "có") và (tình trạng đèn màn hình là "chớp đỏ") thì (cáp màn hình "lỏng"). Để xác định được các nguyên nhân gây ra sự kiện "không sử dụng được máy tính", ta phải xây dựng một cấu trúc đồ thị gọi là đồ thị AND/OR như sau : HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 6 Như vậy là để xác định được nguyên nhân gây ra hỏng hóc là do ổ cứng hỏng hay cáp màn hình lỏng, hệ thống phải lần lượt đi vào các nhánh để kiểm tra các điều kiện như điện vào máy "có", âm thanh ổ cứng "không"…Tại một bước, nếu giá trị cần xác định không thể được suy ra từ bất kỳ một luật nào, hệ thống sẽ yêu cầu người dùng trực tiếp nhập vào. Chẳng hạn như để biết máy tính có điện không, hệ thống sẽ hiện ra màn hình câu hỏi "Bạn kiểm tra xem có điện vào máy tính không (kiểm tra đèn nguồn)? (C/K)". Để thực hiện được cơ chế suy luận lùi, người ta thường sử dụng ngăn xếp (để ghi nhận lại những nhánh chưa kiểm tra). 1.1.3 Vấn đề tối ưu luật Tập các luật trong một cơ sở tri thức rất có khả năng thừa, trùng lắp hoặc mâu thuẫn. Dĩ nhiên là hệ thống có thể đổ lỗi cho người dùng về việc đưa vào hệ thống những tri thức như vậy. Tuy việc tối ưu một cơ sở tri thức về mặt tổng quát là một thao tác khó (vì giữa các tri thức thường có quan hệ không tường minh), nhưng trong giới hạn cơ sở tri thức dưới dạng luật, ta vẫn có một số thuật toán đơn giản để loại bỏ các vấn đề này. a) Rút gọn bên phải Luật sau hiển nhiên đúng : HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 7 A ∧ B → A (1) Do đó luật A ∧ B → A ∧ C Là hoàn toàn tương đương với A ∧ B → C Quy tắc rút gọn : Có thể loại bỏ những sự kiện bên vế phải nếu những sự kiện đó đã xuất hiện bên vế trái. Nếu sau khi rút gọn mà vế phải trở thành rỗng thì luật đó là luật hiển nhiên. Ta có thể loại bỏ các luật hiển nhiên ra khỏi tri thức. b) Rút gọn bên trái Xét các luật : (L1) A, B → C (L2) A → C (L3) C → X Rõ ràng là luật A, B  C có thể được thay thế bằng luật A  C mà không làm ảnh hưởng đến các kết luận trong mọi trường hợp. Ta nói rằng sự kiện B trong luật (1) là dư thừa và có thể được loại bỏ khỏi luật dẫn trên. c) Phân rã và kết hợp luật Luật A ∨ B → C Tương đương với hai luật A → C B → C Với quy tắc này, ta có thể loại bỏ hoàn toàn các luật có phép nối HOẶC. Các luật có phép nối này thường làm cho thao tác xử lý trở nên phức tạp. d) Luật thừa HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 8 Một luật dẫn A → B được gọi là thừa nếu có thể suy ra luật này từ những luật còn lại. Ví dụ : trong tập các luật gồm {A → B, B → C, A → C} thì luật thứ 3 là luật thừa vì nó có thể được suy ra từ 2 luật còn lại. 1.1.4 Thuật toán tối ưu tập luật dẫn Thuật toán này sẽ tối ưu hóa tập luật đã cho bằng cách loại đi các luật có phép nối HOẶC, các luật hiển nhiên hoặc các luật thừa. Thuật toán bao gồm các bước chính B1 : Rút gọn vế phải Với mỗi luật r trong R Với mỗi sự kiện A ∈ VếPhải(r) Nếu A ∈ VếTrái(r) thì Loại A ra khỏi vế phải của R. Nếu VếPhải(r) rỗng thì loại bỏ r ra khỏi hệ luật dẫn : R = R – {r} B2 : Phân rã các luật Với mỗi luật r : X 1 ∨ X 2 ∨ … ∨ Xn → Y trong R Với mỗi i từ 1 đến n R := R + { Xi → Y } R := R – {r} B3 : Loại bỏ luật thừa Với mỗi luật r thuộc R Nếu VếPhải(r) ∈ BaoĐóng(VếTrái(r), R-{r}) thì R := R – {r} B4 : Rút gọn vế trái Với mỗi luật dẫn r : X : A 1 ∧ A 2 , …, An → Y thuộc R Với mỗi sự kiện Ai thuộc r Gọi luật r 1 : X – Ai → Y HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 9 S = ( R – {r} ) ∪ {r 1 } Nếu BaoĐóng( X – Ai , S) ≡ BaoĐóng(X, R) thì loại sự kiện A ra khỏi X 1.1.5 Ưu điểm và khuyết điểm của biểu diễn tri thức bằng luật Ưu điểm Biểu diễn tri thức bằng luật đặc biệt hữu hiệu trong những tình huống hệ thống cần đưa ra những hành động dựa vào những sự kiện có thể quan sát được. Nó có những ưu điểm chính yếu sau đây : Các luật rất dễ hiểu nên có thể dễ dàng dùng để trao đổi với người dùng (vì nó là một trong những dạng tự nhiên của ngôn ngữ). Có thể dễ dàng xây dựng được cơ chế suy luận và giải thích từ các luật. Việc hiệu chỉnh và bảo trì hệ thống là tương đối dễ dàng. Có thể cải tiến dễ dàng để tích hợp các luật mờ. Các luật thường ít phụ thuộc vào nhau. Nhược điểm Các tri thức phức tạp đôi lúc đòi hỏi quá nhiều (hàng ngàn) luật sinh. Điều này sẽ làm nảy sinh nhiều vấn đề liên quan đến tốc độ lẫn quản trị hệ thống. Thống kê cho thấy, người xây dựng hệ thống trí tuệ nhân tạo thích sử dụng luật sinh hơn tất cả phương pháp khác (dễ hiểu, dễ cài đặt) nên họ thường tìm mọi cách để biểu diễn tri thức bằng luật sinh cho dù có phương pháp khác thích hợp hơn! Đây là nhược điểm mang tính chủ quan của con người. Cơ sở tri thức luật sinh lớn sẽ làm giới hạn khả năng tìm kiếm của chương trình điều khiển. Nhiều hệ thống gặp khó khăn trong việc đánh giá các hệ dựa trên luật sinh cũng như gặp khó khăn khi suy luận trên luật sinh. HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 10 [...]... thuật toán tìm một lời giải cho bài toán A → B trên mạng tính toán (M, F) Thuật toán 2 tìm một lời giải cho bài toán A → B : Nhập: Mạng tính toán (M,F), giả thiết A ⊆ M, tập cần tính B ⊆ M Xuất : Lời giải cho bài toán A → B Thuật toán : 1 Solution ← empty; // Solution là dãy các quan hệ sẽ áp dụng 2 if B ⊆ A then Begin // biến Solution_found = true khi bài tóan... Solution_found then Bài toán không giải được; else Solution là một lời giải cho bài toán; Thuật toán 3 Tìm một lời giải tốt từ một lời giải đã biết Nhập : Mạng tính toán (M, F), {f1, f2,…,fm} là lời giải của bài toán A→ B Xuất : lời giải tốt cho bài toán A→ B Thuật toán : 1 D ← {f1, f2, , fm}; 2 for i=m downto 1 do if D \ {fi} là một lời giải then D ← D \... một lời giải tốt Thuật toán 3 kiểm tra một dãy quan hệ có phải là lời giải hay không Việc kiểm tra có thể được thực hiện nhờ thuật toán sau đây: Thuật toán 4 : Kiểm tra lời giải cho bài toán tìm lời giải tốt cho bài toán A→ B Nhập : Mạng tính toán (M,F), dãy quan hệ {f1, f2, , fm} Xuất : cho biết {f1, f2, , fm} có phải lời giải của bài toán A→ B... điểm: Mạng tính toán cho ta thấy được cấu trúc nội bộ bên trong của một mạng Nhưng trong một số bài toán thường xuất hiện nhiều đối tượng khác nhau mà việc chỉ tập trung vào một đối tượng có thể sẽ không đủ tri thức để giải quyết bài toán HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 23 Chương II> Ứng dụng mạng tính toán giải bài tập tam giác 1/ Phát... các định lý sau đây: Định lý 1 Trên một mạng tính toán (M, F), bài toán A → B là giải được khi và chỉ khi B ⊆ A Từ định lý này, ta có thể kiểm tra tính giải được của bài toán A → B bằng cách tính bao đóng của tập A rồi xét xem B có bao hàm trong A hay không Định lý 2 Cho một mạng tính toán (M, F), A, B là hai tập con của M Ta có các điều sau đây là... lời giải cho chương trình - Cơ sở tri thức : được tổ chức theo mô hình mạng tính toán, tập tin lưu trữ MF bao gồm thông tin về :  Tập M bao gồm tập các thuộc tính đầu vào của tam giác, hiện tại M gồm có : M := {A, B, C, P, R, S, a, b, c, ha, hb, hc} Trong đó : A, B, C là các góc tam giác; P là chi vi tam giác; R bán kính đường tròn nội/ngoại tiếp tam giác; ... hàm suy diễn tiến tìm lời giải cho tam giác HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 26 Chạy thử giải thuật trên Maple ,gọi hàm thủ tục :giaiTamGiac, thủ tục này nhận 2 tập đầu vào (M, F) M là tập các thuộc tính đã biết giá trị, F là tập các thuộc tính cần tính Hình 2 Tập kết quả cho bởi hàm giải tam giác 3.1 Mã viết bằng C# a... một số ưu nhược điểm của nó Đặc biệt đi khá chi tiết vào mô hình mạng tính toán vì nó là nội dung cốt lõi của ứng dụng của bài viêt Về mặt ứng dụng bài viết đã sử dụng mô hình mạng tính toán được ứng dụng khá phổ biến trong thực tế và em đã áp dụng nó vào việc giải bài tập tam giác HVTH: Nguyễn Văn Sang(CH1101128) GVHD: PGS.TS Đỗ Văn Nhơn Trang 31 Qua... toán Tam giác là một trong những chủ đề được giảng dạy trong bộ môn hình học các cấp cơ sở ở Việt Nam Chúng ta thấy rằng tất cả các đại lượng cần tính toán như : độ dài một cạnh, góc, tam giác, chu vi,…, đều có các công thức tính toán liên quan Chẳng hạn công thức tổng ba góc A, B, C của một tam giác bằng 90 độ, các công thức tính diện tích tam giác. .. là lời giải của vấn đề Ai-1 → Ai, với mọi i = 1,2, , k suy ra bài toán A0 → Ak là giải được Do đó bài toán A → B cũng giải được, suy ra B ⊆ A theo định lý 1 Qua địn lý trên, ta thấy rằng việc xác định bao đóng cua rmột tập biến trên mô hình tính toán là cần thiết Dưới đây là thuật toán cho phép xác định bao đóng của tập hợp A ⊆ M Trong thuật toán này, . quyết bài toán (2) 20 1.4.3 Giải quyết bài toán (3) 23 1.4.4 Ưu điểm và khuyết điểm của mạng tính toán 23 24 Chương II> ;Ứng dụng mạng tính toán giải bài tập tam giác 24 1/Phát. 17 1.4 Mạng tính toán 18 1.4.1 Khái niệm 18 1.4.2 Cấu trúc mạng tính toán 18 1.4.3 Một số bài toán trên mạng tính toán 18 1.4.3 Giải quyết bài toán (1) 19 1.4.3 Giải quyết bài. u(f) ∪ v(f). 1.4.3 Một số bài toán trên mạng tính toán Cho một mạng tính toán (M, F), M là tập các biến và F là tập các quan hệ. Giả sử có một tập biến A ⊆ M đã được

Ngày đăng: 10/04/2015, 09:59

Từ khóa liên quan

Mục lục

  • LỜI NÓI ĐẦU

  • Chương I> Một số phương pháp biểu diễn tri thức

    • 1.1 Biểu diễn tri thức sử dụng luật dẫn

      • 1.1.1 Khái niệm

      • 1.1.2 Cơ chế suy luận trên các luật dẫn

      • 1.1.3 Vấn đề tối ưu luật

      • 1.1.4 Thuật toán tối ưu tập luật dẫn

      • 1.1.5 Ưu điểm và khuyết điểm của biểu diễn tri thức bằng luật

      • 1.2 Biểu diễn tri thức bằng mạng ngữ nghĩa

        • 1.2.1 Khái niệm

        • 1.2.2 Ưu điểm và khuyết điểm của mạng ngữ nghĩa

        • 1.3 Biểu diễn tri thức bằng FRAME

        • 1.3.1 Khái niệm

          • 1.3.2 Cấu trúc Frame

          • 1.3.3 Tính kế thừa

          • 1.3.4 Ưu điểm và khuyết điểm của cấu trúc Frame

          • 1.4 Mạng tính toán

            • 1.4.1 Khái niệm

            • 1.4.2 Cấu trúc mạng tính toán

            • 1.4.3 Một số bài toán trên mạng tính toán

            • 1.4.3 Giải quyết bài toán (1)

            • 1.4.3 Giải quyết bài toán (2)

            • 1.4.3 Giải quyết bài toán (3)

            • 1.4.4 Ưu điểm và khuyết điểm của mạng tính toán

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

  • Đang cập nhật ...

Tài liệu liên quan