Tiểu luận Biểu diễn tri thức và suy luận Sử dụng mạng tính toán để giải tam giác và hóa học

31 458 0
Tài liệu đã được kiểm tra trùng lặp
Tiểu luận Biểu diễn tri thức và suy luận Sử dụng mạng tính toán để giải tam giác và hóa họ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

Sử học ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH TIẾU LUẬN MÔN HỌC BIỂU DIỄN TRI THỨC VÀ SUY LUẬN: SỬ DỤNG MẠNG TÍNH TOÁN ĐỂ GIẢI TAM GIÁC VÀ HÓA HỌC Giảng viên hướng dẫn: PGS TS ĐỖ VĂN NHƠN Học viên thực hiện: LÊ DUY ĐẮC NHÂN TP Hồ Chí Minh, 03/2014 LỜI CẢM ƠN Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Em xin bày tỏ lòng biết ơn sâu sắc đến PGS TS Đỗ Văn Nhơn, trưởng khoa Khoa Học Máy Tính, trường Đại học Công Nghệ Thông Tin, ĐHQG TP.HCM đã tận tình hướng dẫn, cung cấp kiến thức, truyền đạt những kinh nghiệm quí báu giúp em hoàn thành tốt bài tiểu luận này Xin cám ơn cha, mẹ, các anh, chị em trong gia đình đã hỗ trợ, lo lắng và động viên Đồng thời, xin cám ơn tất cả các bạn đã ủng hộ, giúp đỡ chúng tôi trong quá trình thực hiện bài tiểu luận này Dù đã có nhiều cố gắng nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến của các Thầy giáo, Cô giáo và các bạn để đề tài này được hoàn thiện hơn Em xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng 03 năm 2014 Học viên Mục Lục GV: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học GV: PGS TS Đỗ Văn Nhơn Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học A Yêu Cầu: Cho người sử dụng nhập vào một bài toán tam giác hoặc hóa học theo quy cách đã được qui định Máy sẽ đưa ra lời giải cho bài toán trên (nếu bài toán có lời giải) Trong trường hợp bài toán không giải được thì chương trình sẽ thông báo để ta cho thêm dữ kiện hoặc điều chỉnh lại bài toán Chúng ta xét một tam giác bao gồm 22 yếu tố: − a, b, c : 3 cạnh của tam giác (Hình 1) − α, β, γ : 3 góc đối diện với 3 cạnh tương ứng trong tam giác (Hình 1) − ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác (Hình 2a) − ma, mb, mc : 3 đường trung tuyến tương ứng với 3 cạnh của tam giác (Hình 2b) − pa, pb, pc : 3 đường phân giác trong tương ứng với 3 cạnh của tam giác − S : diện tích tam giác − p : nửa chu vi của tam giác − R : bán kính đường tròn ngoại tiếp tam giác − r : bán kính đường tròn nội tiếp tam giác − ra, rb, rc : các bán kính của các đường tròn bàng tiếp tam giác Hình 1 Hình 2 Giữa các yếu tố của tam giác có các quan hệ cho phép ta có thể tính ra được các yếu tố cần thiết trong tam giác từ giả thiết rằng đã biết một số yếu tố nào đó của tam giác Nhờ vào lý thuyết về mạng tính toán ta có thể cài đặt một chương trình để giải tam giác Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất nầy thành các chất khác Tạm thời bỏ qua một số GV: PGS TS Đỗ Văn Nhơn Trang 4 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học điều kiện phản ứng, ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Ví dụ như phản ứng điều chế Clo từ axít Clohidric và đioxit mangan : MnO2 + HCl → MnCl2 + Cl2↑ + H2O Phản ứng trên có thể được xem như một quan hệ cho chúng ta có được các chất Cl 2, MnCl2, H2O từ các chất MnO2, HCl Trong báo cáo chúng ta dùng mạng tính toán để giải 2 bài toán sau trong hóa học: 1 Cho một số chất, hỏi có điều chế được một vài chất nào đó không? 2 Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa, chẳng hạn như các dãy: Zn → ZnO → ZnSO4 S → SO2 → SO3 → H2SO4 B Nội Dung: I Lý Thuyết: 1 Mạng Tính Toán: 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.1 Các quan hệ: Cho M = {x1,x2, ,xm} 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 D1,D2, ,Dm Đối với mỗi quan hệ R ⊆ D1xD2x xDm trên các tập hợp D1,D2, ,Dm ta nói rằng quan hệ nầy liên kết các biến x 1,x2, ,xm, và ký hiệu là R(x 1,x2, ,xm) hay vắn tắt là R(x) (ký hiệu x dùng để chỉ bộ biến < x 1,x2, ,xm >) Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fR,u,v với u ∪ v = x, và ta viết : fR,u,v : 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 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 < x1,x2, ,xm >) Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho u, GV: PGS TS Đỗ Văn Nhơn Trang 5 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học 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ị: độ) 1.2 Mạng tính toán và các kí hiệu: Như đã nói ở trên, 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 có thể viết: M = {x1,x2, ,xn}, F = {f1,f2, ,fm} Đố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: f : u(f) → v(f) thì ta có M(f) = u(f) ∪ v(f) 1.3 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 đề đặt 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? − − 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 GV: PGS TS Đỗ Văn Nhơn Trang 6 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Đị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ệ {f1, f2, , fk} ⊆ 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 {f1, f2, , fk} đượ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 = {f1, f2, , fk} 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ệ f1, f2, , fk xuất phát từ giả thiết A Nhận xét : Trong định nghĩa trên, nếu đặt : A0 = A, A1 = A0 ∪ M(f1), , Ak = Ak-1 ∪ M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A → D(A) Trong 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 Định nghĩa 2.3: 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ý 2.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.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 = {f1, f2, , fk} ⊆ F thỏa các điều kiện : (a) D áp được trên A (b) D(A) ⊇ B GV: PGS TS Đỗ Văn Nhơn Trang 7 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Chứng minh : Giả sử có (1), tức là B ⊆ A Khi đó bài toán A → B là giải được Do đó có một dãy quan hệ {f1, f2, , fk} ⊆ F sao cho khi ta lần lượt áp dụng các quan hệ fi (i=1, ,k) xuất phát từ giả thiết A thì sẽ tính được các biến thuộc B Dễ dàng thấy rằng dãy {f1, f2, , fk} nầy thỏa các điều kiện (2) Đảo lại, giả sử có (2) Với các điều kiện có được bởi (2) ta thấy {fi} là lời giải của vấn đề Ai-1 → Ai, với mọi i = 1,2, , k Từ mệnh đề 3.2 suy ra bài toán A 0 → Ak là giải được Do đó bài toán A → B cũng giải được, suy ra B ⊆ A theo định lý 3.1 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 Mệnh đề 1.1 : 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) Định lý 2.3 Cho D={f1, f2, , fm} là một lời giải của bài toán A → B Ưng với mỗi i=1, ,m đặt Di = {f1, f2, , fi}, D0 = ∅ Ta xây dựng một họ các dãy con S m, Sm-1, , S2, S1 của dãy D như sau : Sm = ∅ nếu Dm-1 là một lời giải, Sm = {fm} nếu Dm-1 không là một lời giải, Si = nếu Di-1 ∪ Si+1 là một lời giải, Si+1 Si = {fi} ∪ Si+1 nếu Di-1 ∪ Si+1 không là một lời giải, với mọi i = m-1, m-2, , 2, 1 Khi đó ta có : (1) Sm ⊆ Sm-1 ⊆ ⊆ S2 ⊆ S1 (2) Di-1 ∪ Si là một lời giải của bài toán A → B với mọi i=m, , 2, 1 (3) Nếu S’i là một dãy con thật sự của Si thì Di-1 ∪ S’i không phải là một lời giải của bài toán A → B với mọi i (4) S1 là một lời giải tốt của bài toán A → B 2 Bài toán giải tam giác: GV: PGS TS Đỗ Văn Nhơn Trang 8 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Về mặt tính toán, chúng ta có thể xem tam giác là một mạng tính toán (hay một đối tượng tính toán) bao gồm các biến ghi nhận giá trị của các yếu tố trong tam giác, và các quan hệ là các công thức thể hiện mối liên hệ tính toán giữa các yếu tố đó Tập các biến trong tam giác gồm: − a, b, c : 3 cạnh của tam giác − α, β, γ : 3 góc đối diện với 3 cạnh tương ứng trong tam giác − ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác − ma, mb, mc : 3 đường trung tuyến tương ứng với 3 cạnh của tam giác − pa, pb, pc : 3 đường phân giác trong tương ứng với 3 cạnh của tam giác − S : diện tích tam giác − p : nửa chu vi của tam giác − R : bán kính đường tròn ngoại tiếp tam giác − r : bán kính đường tròn nội tiếp tam giác − ra, rb, rc : các bán kính của các đường tròn bàng tiếp tam giác Các hệ thức cơ bản giữa các yếu tố của tam giác: Liên hệ giữa 3 góc : f1 : α+β+γ = π (radian) Định lý cosin : f2 : a2 = b2 + c2 - 2.b.c.cosα f3 : b2 = a2 + c2 - 2.a.c.cosβ f4 : c2 = a2 + b2 - 2.a.b.cosγ Định lý Sin : f5 : a b = sinα sinβ f6 : c b = sinγ sinβ f7 : a c = sinα sinγ f8 : a = 2R sinα GV: PGS TS Đỗ Văn Nhơn Trang 9 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học f9 : b = 2R sinβ f10 : c = 2R sinγ Liên hệ giữa nửa chu vi và 3 cạnh : f11 : 2.p = a + b + c Các công thức tính diện tích : f12 : S = a.ha/2 f13 : S = b.hb/2 f14 : S = c.hc/2 f15 : S = p.r f16 : S = p(p − a)(p − b)(p − c) f17 : S = b.c.sinα / 2 f18 : S = c.a.sinβ / 2 f19 : S = a.b.sinγ / 2 Các công thức tính đường cao theo cạnh và góc : f20 : ha = b.sinγ f21 : ha = c.sinβ f22 : hb = a.sinγ f23 : hb = c.sinα f24 : hc = a.sinβ f25 : hc = b.sinα Các công thức tính các đường trung tuyến : f26 : 4.ma2 = 2.b2 + 2.c2 - a2 f27 : 4.mb2 = 2.a2 + 2.c2 - b2 f28 : 4.mc2 = 2.a2 + 2.b2 - c2 Các công thức tính các đường phân giác trong : GV: PGS TS Đỗ Văn Nhơn Trang 10 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học ZnS → ZnO → ZnCl2 Ví dụ 4 : Hoàn thành các phương trình phản ứng sau đây : Mg + H2SO4 → Fe(OH)3 + H2SO4 → K2CO3 + H2SO4 → Ba(NO3)2 + H2SO4 → Ví dụ 5 : Viết phương trình phản ứng theo các sơ đồ sau : FeS + ? → FeCl2 + ? CuSO4 + ? → ? + Na2SO4 Ví dụ 6 : Từ muối NaCl và nước (H2O) ta có thể điều chế được axit clohidric (HCl) và NaOH không ? II Thiết kế và cài đặt: 1 Mô hình tri thức cho bài toán giải tam giác: 1.1 Mô hình mạng tính toán: Sau khi phân tích giả thiết, thuật giải của bài toán sẽ đưa đoạn mạch về mô hình mạng tính toán (M, F) với: M: danh sách các thuộc tính của tam giác F: danh sách các quan hệ giữa các thuộc tính trong M, mỗi quan hệ là một danh sách gồm: 1 Chuỗi giải thích về quan hệ 2 1 (nghĩa là đối xứng), 0 (nghĩa là không đối xứng) 3 Tập hợp các thuộc tính cần biết để suy ra thuộc tính cần tính trong công thức liên hệ 4 hạng (rank) của quan hệ 5 Tập hợp các thuộc tính được suy ra trong quan hệ 6 Công thức liên hệ giữa các thuộc tính Từ mô hình mạng tính toán (M, F) này, thuật giải tìm lời giải cho bài toán A → B sẽ đưa ra lời giải tương ứng cho bài toán, nếu thiếu giả thiết thì thuật giải bổ sung giả thiết sẽ đưa ra những giả thiết cần bổ sung 1.2 Lưu trữ tri thức tam giác trên máy tính: Tri thức về bài toán tam giác sẽ được lưu thành file: TamGiac.txt GV: PGS TS Đỗ Văn Nhơn Trang 17 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học File TamGiac.txt (file đính kèm) diễn tả mối quan hệ giữa các thuộc tính của một tam giác có cấu trúc được ghi như mô hình mạng tính toán ở trên 2 Mô hình tri thức cho bài toán hóa học: Tri thức về bài toán hóa học sẽ được lưu thành file: HoaHoc.txt File HoaHoc.txt (file đính kèm) diễn tả mối quan hệ giữa các thuộc tính của các nguyên tố có cấu trúc được ghi như mô hình mạng tính toán ở mục 2.1 3 Cài đặt và kết quả thử nghiệm: Chương trình giải tam giác và hóa học được viết bằng ngôn ngữ lập trình của Maple, với đối số của các hàm là các file tri thức và giả thiết, kết luận của đề bài Những ví dụ sau đây minh họa cho chương trình giải một số bài tập trong tam giác và hóa học 3.1 Giải tam giác: Ví dụ 1 : Trong tam giác ABC giả sử đã biết cạnh a=3, cạnh b=4, diện tích S=6 Hãy tính chu vi tam giác Như vậy ta có : Giả thiết: {a=3, b=4, S=6} Tính các biến: {p} Lời giải của chương trình: > GT:={a=3, b=4, S=6}; KL:={p}; > sol:=FindSol("TamGiac.txt", GT, KL); > sol:=ReduceSol({a, b, S}, KL, sol); > L:=Solve(GT, sol); > InKetQua(sol, L, KL); Kết quả: p = 6 Bài giải: Diện tích tam giác: S = a*b*sin(C)/2 => C = 1/2*Pi Định lý Cosin: c^2 = a^2 + b^2 - 2*a*b*cos(C) => c = 5 GV: PGS TS Đỗ Văn Nhơn Trang 18 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Chu vi tam giác: 2*p = a+b+c => p = 6 Ví dụ 2 : Trong tam giác ABC giả sử đã biết góc A, cạnh b, chu vi p Hãy tính diện tích tam giác và đường cao ha Như vậy ta có: Giả thiết: {A, b, p} Tính các biến: {S, ha} Lời giải của chương trình: > GT:={A, b, p};KL:={S, ha}; > FindSol2("TamGiac.txt", GT, KL); Không tìm được lời giải cho bài toán Bạn cần phải bổ sung vào giả thiết: B , để bài toán có thể giải được Bài giải sau khi bổ sung giả thiết Bài giải: Tổng 3 góc trong tam giác bằng 180 độ A+B+C = Pi Ta có: a*sin(B) = b*sin(A) Định lý Cosin: c^2 = a^2 + b^2 - 2*a*b*cos(C) Diện tích tam giác: S = sqrt(p*(p-a)*(p-b)*(p-c)) Đường cao cạnh a: ha = b*sin(C) Ví dụ 3 : Trong tam giác ABC giả sử đã biết cạnh a, góc β, góc γ Hãy tính các cạnh còn lại (cạnh b và cạnh c) và đường cao ha Như vậy ta có : Giả thiết: {a, β, γ} Tính các biến: {b, c, ha} Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau : Tính : α (áp dụng f1) Tính : b (áp dụng f5) Tính : c (áp dụng f6) Tính : ha (áp dụng f20) Lời giải của chương trình: > GT:={a, B, C};KL:={b, c, ha}; GV: PGS TS Đỗ Văn Nhơn Trang 19 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học > sol:=FindSol("TamGiac.txt", GT, KL); > sol:=ReduceSol(GT, KL, sol); > InKetQua(sol, [], KL); Bài giải: Tổng 3 góc trong tam giác bằng 180 độ A+B+C = Pi Ta có: a*sin(B) = b*sin(A) Định lý Cosin: c^2 = a^2 + b^2 - 2*a*b*cos(C) Đường cao cạnh a: ha = b*sin(C) Ví dụ 4 : Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc α Hãy tính các đường trung tuyến trong tam giác : ma, mb, mc Giả thiết: {b, c, α} Yêu cầu tính: {ma, mb, mc} Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau : Tính : a (áp dụng f2) Tính : ma (áp dụng f26) Tính : mb (áp dụng f27) Tính : mc (áp dụng f28) Lời giải của chương trình: > GT:={b, c, A};KL:={ma, mb, mc}; GV: PGS TS Đỗ Văn Nhơn Trang 20 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học > sol:=FindSol("TamGiac.txt", GT, KL); > sol:=ReduceSol(GT, KL, sol); > InKetQua(sol, [], KL); Bài giải: Định lý Cosin: a^2 = b^2 + c^2 - 2*b*c*cos(A) Trung tuyến ma: 4*ma^2=2*b^2+2*c^2-a^2 Trung tuyến mb: 4*mb^2=2*a^2+2*c^2-b^2 Trung tuyến mc: 4*mc^2=2*a^2+2*b^2-c^2 Ví dụ 5 : Trong tam giác, giả sử đã biết cạnh b, cạnh c, góc β Hãy tính nửa chu vi p và diện tích S của tam giác Giả thiết: {b, c, β} Yêu cầu tính: {p, S} Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau: Tính : γ (áp dụng f6) Tính : R (áp dụng f9) Tính : ha (áp dụng f20) Tính : α (áp dụng f1) Tính : a (áp dụng f2) Tính : p (áp dụng f11) Tính : S (áp dụng f12) Lời giải của chương trình: GV: PGS TS Đỗ Văn Nhơn Trang 21 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học > GT:={b, c, B};KL:={p, S}; > sol:=FindSol("TamGiac.txt", GT, KL); > sol:=ReduceSol(GT, KL, sol); > InKetQua(sol, [], KL); Bài giải: Ta có: b*sin(C) = c*sin(B) Tổng 3 góc trong tam giác bằng 180 độ A+B+C = Pi Định lý Cosin: a^2 = b^2 + c^2 - 2*b*c*cos(A) Chu vi tam giác: 2*p = a+b+c Diện tích tam giác: S = sqrt(p*(p-a)*(p-b)*(p-c)) 3.2 Giải hóa học: Ví dụ 1 : Viết phương trình phản ứng biểu diễn các biến hóa sau : Zn → ZnO → ZnSO4 Giải : Trên cở sở dò tìm các phản ứng (xem là các quan hệ của mạng tính toán các chất hóa học) đã biết ta có thể tìm thấy được các phản ứng sau đây : Zn + O2 → ZnO ZnO + H2SO4 → ZnSO4 + H2O Lời giải của chương trình: > FindSol2("HoaHoc.txt", GT, KL); Không tìm được lời giải cho bài toán Bạn cần phải bổ sung vào giả thiết: H2SO4 , để bài toán có thể giải được Bài giải sau khi bổ sung giả thiết Bài giải: Ta có: Zn + H2SO4(đặc nóng) -> ZnSO4 + S + H2O Phản ứng điều chế oxi: H2O ->(điện phân) H2 + O2 Ta có: Zn + O2 -> ZnO GV: PGS TS Đỗ Văn Nhơn Trang 22 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Ví dụ 2 : Từ lưu huỳnh (S) và nước (H 2O) ta có thể điều chế được axit sunfuaric (H 2SO4) không ? Giải : Áp dụng các thuật toán tìm lời giải cho mạng tính toán các chất hóa học, dò theo các phản ứng liên quan đến lưu huỳnh và nước ta tìm ra được quá trình điều chế như sau : điện phân H2O → H2↑ + O2↑ S + O2 → SO2 SO2 + O2 → SO3 SO3 + H2O → H2SO4 Lời giải của chương trình: > GT:={S, H2O}; KL:={H2SO4}; FindSol2("HoaHoc.txt", GT, KL); Bài giải: Phản ứng điều chế oxi: H2O ->(điện phân) H2 + O2 Ta có: S + O2 -> SO2 Ta có: SO2 + O2 -> SO3 Ta có: SO3 + H2O -> H2SO4 Ví dụ 3 : Viết các phương trình phản ứng để thực hiện các biến hóa theo các sơ đồ sau đây : ZnS → SO2 → H2SO4 ZnS → ZnO → ZnCl2 Lời giải của chương trình: > GT:={ZnS}; KL:={SO2, H2SO4}; FindSol2("HoaHoc.txt", GT, KL); Không tìm được lời giải cho bài toán Bạn cần phải bổ sung vào giả thiết: H2O , để bài toán có thể giải được Bài giải sau khi bổ sung giả thiết Bài giải: Phản ứng điều chế oxi: H2O ->(điện phân) H2 + O2 Ta có: ZnS + O2 -> ZnO + SO2 Ta có: SO2 + O2 -> SO3 Ta có: SO3 + H2O -> H2SO4 > GT:={ZnS}; KL:={ZnO, ZnCl2}; FindSol2("HoaHoc.txt", GT, KL); GV: PGS TS Đỗ Văn Nhơn Trang 23 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Không tìm được lời giải cho bài toán Bạn cần phải bổ sung vào giả thiết: Cl2 H2O Bài giải sau khi bổ sung giả thiết Bài giải: Clo tác dụng với nước: Cl2 + H2O -> HCl + HClO Phản ứng điều chế oxi: H2O ->(điện phân) H2 + O2 Ta có: ZnS + O2 -> ZnO + SO2 Ta có: ZnO + HCl -> ZnCl2 + H2O Ví dụ 4 : Hoàn thành các phương trình phản ứng sau đây : Mg + H2SO4 → Fe(OH)3 + H2SO4 → K2CO3 + H2SO4 → Ba(NO3)2 + H2SO4 → > GT:={Mg, H2SO4}; PTPU("HoaHoc.txt", GT); Bài giải: Ta có: 3Mg + 4H2SO4 = 3MgSO4 + S + H2O > GT:={FeOH3, H2SO4}; PTPU("HoaHoc.txt", GT); Bài giải: Ta có: Fe(OH)3 + H2SO4 -> Fe2(SO4)3 + H2O > GT:={K2CO3, H2SO4}; PTPU("HoaHoc.txt", GT); Bài giải: Ta có: K2CO3 + H2SO4 -> K2SO4 + H2O + CO2 > GT:={BaNO32, H2SO4}; PTPU("HoaHoc.txt", GT); Bài giải: Ta có: Ba(NO3)2 + H2SO4 -> Ba2SO4 + HNO3 Ví dụ 5 : Viết phương trình phản ứng theo các sơ đồ sau : CuSO4 + ? → ? + Na2SO4 > GT:={CuSO4}; KL:={Na2SO4}; FindSol2("HoaHoc.txt", GT, KL); Không tìm được lời giải cho bài toán Bạn cần phải bổ sung vào giả thiết: NaOH , để bài toán có thể giải được Bài giải sau khi bổ sung giả thiết GV: PGS TS Đỗ Văn Nhơn Trang 24 Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức và suy luận: Sử dụng mạng tính toán để giải tam giác và hóa học Bài giải: Ta có: CuSO4 + NaOH -> Cu(OH)2(kết tủa) + Na2SO4 Ví dụ 6 : Từ muối NaCl và nước (H2O) ta có thể điều chế được axit clohidric (HCl) và NaOH không ? > GT:={NaCl, H2O}; KL:={HCl, NaOH}; FindSol2("HoaHoc.txt", GT, KL); Bài giải: Điện phân dung dịch đậm đặc muối ăn trong nước: NaCl + H2O -> Cl2 + H2 + NaOH Clo tác dụng với nước: Cl2 + H2O -> HCl + HClO C Tài Liệu Tham Khảo: [1] GSTS Hoàng Kiếm & Đỗ Văn Nhơn - Mạng Tính Toán Và Ứng Dụng [2] Maplevn2008’s Blog – Blog hướng dẫn sử dụng và lập trình trên Maple http://maplevn2008.wordpress.com GV: PGS TS Đỗ Văn Nhơn Trang 25 Học viên: Lê Duy Đắc Nhân ... Đắc Nhân Tiểu luận Biểu diễn tri thức suy luận: Sử dụng mạng tính tốn để giải tam giác hóa học A u Cầu: Cho người sử dụng nhập vào toán tam giác hóa học theo quy cách qui định Máy đưa lời giải cho... Trang Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức suy luận: Sử dụng mạng tính tốn để giải tam giác hóa học điều kiện phản ứng, ta xem tri thức mạng tính toán mà phản ứng quan hệ mạng. .. tốt toán A → B Bài toán giải tam giác: GV: PGS TS Đỗ Văn Nhơn Trang Học viên: Lê Duy Đắc Nhân Tiểu luận Biểu diễn tri thức suy luận: Sử dụng mạng tính tốn để giải tam giác hóa học Về mặt tính

Ngày đăng: 19/05/2015, 02:00

Mục lục

  • 2. Bài toán giải tam giác:

  • 3. Bài toán hóa học:

  • S  SO2  SO3  H2SO4

  • 4. Thuật giải của bài toán giải tam giác và hóa học:

    • 4.1 Thuật giải tìm lời giải cho bài toán A  B:

    • 4.2 Thuật giải bổ sung giả thiết cho bài toán:

    • II. Thiết kế và cài đặt:

      • 1. Mô hình tri thức cho bài toán giải tam giác:

        • 1.1 Mô hình mạng tính toán:

        • 1.2 Lưu trữ tri thức tam giác trên máy tính:

        • 2. Mô hình tri thức cho bài toán hóa học:

        • 3. Cài đặt và kết quả thử nghiệm:

        • C. Tài Liệu Tham Khảo:

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

Tài liệu liên quan