1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn biểu diễn tri thức và suy luận Mô hình tri thức cho bài toán tam giác

25 419 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 890,5 KB

Nội dung

Biểu diễn tri thức và suy luận 2014 LỜI MỞ ĐẦU Lời đầu tiên xin chân thành cảm ơn thầy PGS.TS. Đỗ Văn Nhơn đã giảng dạy tận tình và cung cấp cho em nhiều kiến thức chuyên sâu về môn học. Từ vốn hiểu biết rộng rãi của mình thầy đã định hướng, diễn giảng và giới thiệu nhiều vấn đề liên quan đến biểu diễn tri thức, qua đó góp phần hoàn thiện thêm kiến thức cũng như hình thành cho người học những hiểu biết sâu thêm về tri thức và các phương pháp biểu diễn tri thức trên máy tính. Mặc dù rất cố gắng, song bài viết chắc không tránh khỏi những hạn chế, thiếu sót rất mong được thầy thông cảm. Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 1 Biểu diễn tri thức và suy luận 2014 MỤC LỤC HÌNH ẢNH Hình 1: Quan hệ 3 góc trong tam giác ABC 6 Hình 2: Minh họa bài toán điều chế hợp chất hóa học 21 Hình 3: Thể hiện tam giác ABC với các yếu tố cần xét 22 Hình 4: Minh họa bài toán tam giác 27 Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 2 Biểu diễn tri thức và suy luận 2014 MỤC LỤC LỜI MỞ ĐẦU 1 MỤC LỤC HÌNH ẢNH 2 MỤC LỤC 3 1.Mạng tính toán 4 1.1Khái niệm 4 1.2Các quan hệ 4 1.3Mạng tính toán và các ký hiệu 5 B. Áp dụng 13 1.Bài toán hóa học 13 1.4 Thiết kế bộ suy diễn và cài đặt 16 2.Bài toán hình học – bài toán tam giác 18 TÀI LIỆU THAM KHẢO 25 A.Cơ sở lý thuyết Một trong những vấn đề đ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. Trên cơ sở đó có thể tạo ra những chương trình “thông minh” ở một mức độ nào đó. Trong nhiều lĩnh vực chúng ta thường gặp những vấn đề đặt ra dưới dạng như sau: Thực hiện những tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một số yếu tố đã được biết trước. Để giải quyết vấn đề đó, người ta phải vận dụng một số hiểu biết (tri thức) liên quan tới các yếu tố đang được xem xét. Những liên hệ cho phép ta có thể suy ra được một số yếu tố từ giả thiết để biết một số yếu tố khác để giải các bài toán trong các lĩnh vực của khoa học như toán học, vật lý và hóa học. Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 3 Biểu diễn tri thức và suy luận 2014 Để giải quyết vấn đề trên ta xét đến một mô hình biểu diễn và xử lý tri thức có thể áp dụng giải tự động các bài toán trên và ta gọi mô hình này là “Mạng tính toán”. 1. Mạng tính toán 1.1Khái niệm Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài toán. Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và sử dụng được cho việc tính toán. Chúng ta xét một mạng tính toán gồm một tập hợp các biến cùng với một tập các quan hệ (chẳng hạn các công thức) tính toán giữa các biến. Trong ứng dụng cụ thể mỗi biến và giá trị của nó thường gắn liền với một khái niệm cụ thể về sự vật, mỗi quan hệ thể hiện một sự tri thức về sự vật. 1.2Các quan hệ Cho M = {x 1 ,x 2 , ,x m } là một tập hợp các biến có thể lấy giá trị trong các miền xác định tương ứng D 1 ,D 2 , ,D m . Đối với mỗi quan hệ R ⊆ D 1 x D 2 x x D m trên các tập hợp D 1 , D 2 , , D m ta nói rằng quan hệ này liên kết các biến x 1 ,x 2 , ,x m , và ký hiệu là R(x 1 ,x 2 , ,x m ) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x 1 ,x 2 , ,x m >). Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ f vuR ,, với u v = x, và ta viết : f vuR ,, : u → v, hay vắn tắt là f : u → v. Đối với các quan hệ dùng cho việc tính toán, cách ký hiệu trên bao hàm ý nghĩa như là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trị của các biến thuộc u. Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 4 Biểu diễn tri thức và suy luận 2014 Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u → v, trong đó u ∩ v = ∅ (tập rỗng). Đặc biệt là các quan hệ đối xứng có hạng (rank) bằng một số nguyên dương k. Đó là các quan hệ mà ta có thể tính được k biến bất kỳ từ m-k biến kia (ở đây x là bộ gồm m biến < x 1 ,x 2 , ,x m >). Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u, v(f) thay cho v. Đối với các quan hệ không phải là đối xứng có hạng k, không làm mất tính tổng quát, ta có thể giả sử quan hệ xác định duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f); ta gọi loại quan hệ nầy là quan hệ không đối xứng xác định một hàm, hay gọi vắn tắt là quan hệ không đối xứng. Ví dụ: Quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức: A+B+C = 180 (đơn vị: độ) Hình 1 : Quan hệ 3 góc trong tam giác ABC 1.3Mạng tính toán và các ký hiệu Ta sẽ xem xét các mạng tính toán bao gồm một tập hợp các biến M và một tập hợp các quan hệ (tính toán) F trên các biến. Trong trường hợp tổng quát ta có thể viết: M = { x 1 ,x 2 , ,x m } F = { f 1 ,f 2 , ,f m } Đối với mỗi f ∈ F, ta ký hiệu M(f) là tập các biến có liên hệ trong quan hệ f. Dĩ nhiên M(f) là một tập con của M: M(f) ⊆ M. Nếu viết f dưới dạng: Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 5 Biểu diễn tri thức và suy luận 2014 f: u(f) → v(f) thì ta có: M(f) = u(f) v(f). 1.4Ưu điểm & khuyết điểm của mạng tính toán Ưu điểm: • Giải được hầu hết các bài toán giả thiết → kết luận nếu như đáp ứng đầy đủ các giả thiết cần có. • Thuật toán đơn giản dễ cài đặt cho nên việc bảo trì hệ thống tương đối đơn giản. • Có thể xây dựng hệ thống suy luận và giải thích một cách rõ ràng và dễ hiểu. Khuyết điểm: • Do hệ thống chỉ bao gồm 1 cặp (M,F) để biểu diễn tri thức nên khi gặp phải những bài toán phức tạp thì có thể xảy ra việc lưu trữ khó khăn và nhập nhằng khi quản lý. Đồng thời việc xây dựng lại thuật toán là một việc tương đối khó khăn nên đòi hỏi phải bảo trì lại toàn bộ hệ thống. • Đối với các bài toán mà sử dụng nhiều các đối tượng tính toán bài toán trở nên phức tạp, việc giải quyết bài toán bằng mạng tính toán trở nên khó khăn cho người lập trình. 2. 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 xác định và B là một tập biến bất kỳ trong M. Các vấn đề xảy ra là: • Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không ? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không ? • Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc B như thế nào ? Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 6 Biểu diễn tri thức và suy luận 2014 • Trong trường hợp không thể xác định được B, thì cần cho thêm điều kiện gì để có thể xác định được B. Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng: A→B trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán. Định nghĩa 2.1: Bài toán A→B được gọi là giải được khi có thể tính toán được giá trị các biến thuộc B xuất phát từ giả thiết A. Ta nói rằng một dãy các quan hệ { f 1 ,f 2 , ,f k } ⊆ F là một lời giải của bài toán A→B nếu như ta lần lượt áp dụng các quan hệ f i (i = 1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B. Lời giải { f 1 ,f 2 , ,f k } được gọi là lời giải tốt nếu không thể bỏ bớt một số bước tính toán trong quá trình giải, tức là không thể bỏ bớt một số quan hệ trong lời giải. Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp dụng suy ra được B từ A. Điều này cũng có nghĩa là tìm ra được một quá trình tính toán để giải bài toán. Định nghĩa 2.2: Cho D = {f 1 ,f 2 , ,f k } là một dãy quan hệ của mạng tính toán (M,F), A là một tập con của M. Ta nói dãy quan hệ D là áp dụng được trên tập A khi và chỉ khi ta có thể lần lượt áp dụng được các quan hệ f 1 ,f 2 , ,f k xuất phát từ giả thiết A. Nhận xét: Trong định nghĩa trên, nếu đặt: A 0 = A, A 1 = A 0 M(f 1 ),…,A k = A 1−k M(f k ), và ký hiệu A k là D(A), thì ta có D là một lời giải của bài toán A→D(A). Trong Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 7 Biểu diễn tri thức và suy luận 2014 trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta vẫn ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu được). Chúng ta có thể nói rẳng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ D. 3. Giải quyết bài toán 3.1 Tính giải được của bài toán: Ta khảo sát một khái niệm của vấn đề trên mạng tính toán: bao đóng của một tập hợp biến trên một mạng tính toán. Định nghĩa 3.1: Cho mạng tính toán (M,F), và A là một tập con của M. Ta có thể thấy rằng có duy nhất một tập hợp B lớn nhất ⊆ M sao cho bài toán A→B là giải được, và tập hợp B này được gọi là bao đóng của A trên mô hình (M,F). Một cách trực quan, có thể nói bao đóng của A là sự mở rộng tối đa của A trên mô hình (M,F). Ký hiệu bao đóng của A là A , chúng ta có định lý sau đây: Định lý 3.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ý 3.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à tương đương: (1) B ⊆ A (2) Có một dãy quan hệ D = {f 1 ,f 2 , ,f k } ⊆ F thỏa các điều kiện: a. D áp dược trên A b. D(A) ⊇ B Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 8 Biểu diễn tri thức và suy luận 2014 Qua các định lý trên, ta thấy rằng việc xác định bao đóng của mộ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 chúng ta thử áp dụng các quan hệ f ∈ F để tìm dần những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A. Thuật toán 3.1 Tìm bao đóng của tập A ⊆ M: Nhập: Mạng tính toán (M,F), A ⊆ M. Xuất: A Thuật toán: 1. B ← A; 2. Repeat B 1 ← B; for f ∈ F do if ( f đối xứng and Card (M(f) \B) ≤ r(f) ) or (f không đối xứng and M(f) \ B ⊆ v(f) ) then Begin B ← B ∪ M(f); F ← F \ {f}; //loại f khỏi lần xem xét sau end; Until B = B 1 ; 3. A ← B; 3.2 Lời giải của bài toán Mệnh đề 3.4: Dãy quan hệ D là một lời giải của bài toán A→ B khi và chỉ khi D áp dụng được trên A và D(A) ⊇ B. Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau : Xuất phát từ giả thiết A, ta thử áp dụng các quan hệ để mở rộng dần tập các biến có giá trị được xác định; và quá trình này tạo ra một sự lan truyền tính xác định trên tập các biến cho đến khi đạt đến tập biến B. Dưới đây là 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 3.2 Tìm một lời giải cho bài toán A→ B: Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 9 Biểu diễn tri thức và suy luận 2014 Nhập: Mạng tính toán (M,F), tập giả thiết A ⊆ M, tập biến 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 Solution_found ← true ; goto 4 ; end else Solution_found ← false; 3. Repeat Aold ←A; Chọn ra một f ∈ F chưa xem xét; while not Solution_found and (chọn được f) do begin if (f đối xứng and 0< Card( M(f) \ A) ≤ r(f) ) or (f không đối xứng and ∅ ≠M(f) \ A ⊆ v(f) ) then begin A ← A ∪ M(f); Solution ← Solution ∪ {f}; end if B ⊆ A then Solution_found ← true; Chọn ra một f ∈ F chưa xem xét; end {while} Until Solution_found or (A = Aold ); 4. if not Solution_found then Bài toán không có lời giải; else Bài toán có lời giải; Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 10 [...]... c.sinB ) Kết luận: Vậy tính được S và ha 2.3 Mô hình và thuật giải Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 21 Biểu diễn tri thức và suy luận 2014 2.3.1 Mô hình tri thức cho bài toán tam giác Bài toán cần giải gồm giả thiết là một số thông số (đối tượng, sự kiện) của tam giác cho trước Mục tiêu là xác định một thông số (đối tượng) của tam giác Tri thức trong bài toán này được đưa về mô hình mạng... 17 Biểu diễn tri thức và suy luận 2014 Chương trình viết bằng ngôn ngữ lập trình C# trên nền tảng Visual Studio 2010 với đối số là các file tri thức và giả thiết, dựa trên tri thức về phương trình phản ứng hóa học để tìm ra chất từ các nguyên tố Hình 2: Minh họa bài toán điều chế hợp chất hóa học 2 Bài toán hình học – bài toán tam giác 2.1 Đặt vấn đề Trong bài này ta sẽ khảo sát bài toán hình học tam. .. SO3 SO3 + H2O → H2SO4 1.3 Mô hình và thuật giải 1.3.1 Mô hình tri thức cho bài toán hóa học Nhìn vào yêu cầu của bài toán ta thấy rằng đây một dạng của thuật giải mạng tính toán tìm lời giải cho bài toán A→B, trong đó A các tập giả thiết, B là tập biến cần tìm Các file chứa tri thức cho bài toán hóa học, tập giả thiết chemical.txt chứa thông tin các nguyên tố hóa học, file tri thức equation.txt chứa các... CH1301117 Trang 22 Biểu diễn tri thức và suy luận 2014 D là một lời giải tốt Bước 8: Tính giá trị của tập B Bước 9: In từng bước giải của bài toán và giá trị tìm được 2.4 Cài đặt Chương trình viết bằng ngôn ngữ lập trình C# trên nền tảng Visual Studio 2010 với đối số là các file tri thức và giả thiết, dựa trên tri thức về công thức hình học của tam giác Hình 4: Minh họa bài toán tam giác Sinh viên thực... 16 Biểu diễn tri thức và suy luận 2014 Bài toán 1 : Viết phương trình phản ứng (PTPƯ) biểu diễn các biến hóa sau: Zn → ZnO → ZnSO4 Mô hình bài toán: M = { [Zn, ZnO, ZnSO4] } F = { tập các phương trình phản ứng hóa học } Lời giải: Solution = {[Zn + O2 → ZnO] , [ZnO + H2SO4 → ZnSO4 + H2O]} Bài toán 2 : Từ lưu huỳnh (S) và nước (H2O) ta có thể điều chế được axit sunfuaric (H2SO4) không ? Mô hình bài toán: ... Trang 23 Biểu diễn tri thức và suy luận 2014 C Kết luận Những tiến bộ nhanh chóng và dồn dập của công nghệ thông tin và truyền thông đã thúc đẩy mạnh mẽ quá trình đưa hoạt động tri thức về gần với cuộc sống hàng ngày Nếu trước đây, việc tìm kiếm tri thức là đặc quyền của các nhà khoa học, và tri thức phải là những điều cao xa hướng tới các qui luật tất yếu và phổ biến, thì giờ đây con người cần tri thức. .. Trang 11 Biểu diễn tri thức và suy luận 2014 Trong thuật toán 3.3 có sử dụng việc 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 này có thể được thực hiện nhờ thuật toán sau đây: Thuật toán kiểm tra lời giải cho bài toán: Nhập: Mạng tính toán (M,F), bài toán A→ B, dãy các quan hệ { f 1 ,f 2 , ,f m } Xuất: Thông tin cho biết { f 1 ,f 2 , ,f m } có phải là lời giải của bài toán A→... ta sẽ khảo sát bài toán hình học tam giác Mục đích : - Trình bày phương pháp lưu trữ và giải thuật dựa trên mô hình mạng tính toán - Xác định giá trị 1 yếu tố của tam giác với những giả thiết đã cho trước Chúng ta xét một tam giác bao gồm 11 yếu tố: - a, b, c : 3 cạnh của tam giác - A, B, C : 3 góc của tam giác - S : diện tích tam giác - p : nửa chu vi của tam giác - ha, hb, hb : độ dài đường cao tương... người cần tri thức phục vụ cho những công việc cụ thể trong mọi lĩnh vực và gần gũi với đời sống như y tế, giáo dục, thương mại… Bài thu hoạch đã trình bày lại những kiến thức nắm được về biểu diễn tri thức dựa trên mạng tính toán và xây dựng chương trình minh họa áp dụng mạng tính toán để giái quyết các bài toán trên cơ sở tri thức hóa học và hình học cơ bản Tuy nhiên, bài thu hoạch không thể tránh... tránh khỏi những thiếu sót về kiến thức cũng như về kỹ năng lập trình, rất mong thầy có những ý kiến góp ý Sinh viên thực hiện: Vũ Xuân Vinh- CH1301117 Trang 24 Biểu diễn tri thức và suy luận 2014 TÀI LIỆU THAM KHẢO 1 PSG.TS Đỗ Văn Nhơn Bài giảng Biểu diễn tri thức và ứng dụng, 2013 2 GS.TSKH Hoàng Kiếm & PSG.TS Đỗ Văn Nhơn, Mạng tính toán và ứng dụng, Tạp chí Tin học và điều khiển học, T.13, S.3(1997) . CH1301117 Trang 3 Biểu diễn tri thức và suy luận 2014 Để giải quyết vấn đề trên ta xét đến một mô hình biểu diễn và xử lý tri thức có thể áp dụng giải tự động các bài toán trên và ta gọi mô hình này. CH1301117 Trang 1 Biểu diễn tri thức và suy luận 2014 MỤC LỤC HÌNH ẢNH Hình 1: Quan hệ 3 góc trong tam giác ABC 6 Hình 2: Minh họa bài toán điều chế hợp chất hóa học 21 Hình 3: Thể hiện tam giác ABC với. H 2 SO 4 1.3 Mô hình và thuật giải 1.3.1 Mô hình tri thức cho bài toán hóa học Nhìn vào yêu cầu của bài toán ta thấy rằng đây một dạng của thuật giải mạng tính toán tìm lời giải cho bài toán A→B,

Ngày đăng: 19/05/2015, 01:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w