Kết quả thử nghiệm

Một phần của tài liệu Phát triển một mô hình biểu diễn tri thức hàm và phương pháp giải quyết các vấn đề (Trang 70 - 81)

- Bước 3.3 Chuyển kết quả từ dạng số sang dạng đối tượng tương ứng:

4.2.2.Kết quả thử nghiệm

Hệ giải tốn Hình học khơng gian chương trình lớp 11 đã được thử nghiệm trên các dạng toán của các miền kiến thức được phân loại ở trên. Chương trình đưa ra lời giải thực hiện theo từng bước, diễn giải một cách tường minh, tự nhiên và phù hợp với lối tư duy của con người.

Sau đây là kết quả chạy thử nghiệm giải các bài tốn trong chương trình giải tốn Hình học khơng gian. Các bài tốn này được lấy ra từ 3 quyển sách trong mục tài liệu tham khảo số [3, 4, 5]. Đề bài của các bài toán này được nêu cụ thể ở mục Phụ lục A. Ứng dụng giải tốn hình học khơng gian được cài đặt trên máy tính có cấu hình: Intel® Core™ i5-3210M CPU @ 2.50GHz, RAM 8.00GB, Hệ điều hành: Windown 8, 64-bit.

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian STT 1 2 3 4 5 6 7 8 9 10 11 12 13 14 B16_p50_b1 15 VD2_6_p49_b3 16 17 18

Tiếp theo, đề tài trình bày cụ thể lời giải của một số bài tốn mà chương trình giải được dưới dạng ngơn ngữ đặc tả.

Ví dụ 1: (B2_p35_b2) Cho tứ diện ABCD. Gọi _I, J, K lần lượt là trung điểm của AC, CD, DB.

a) Xác định giao tuyến mp(ABC) và mp(AKJ)

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

Bài giải chương trình đưa ra:

************************************************************* Yêu cầu: XacDinh GiaoTuyen(MatPhang[A,B,C],MatPhang[A,K,J]) ************************************************************* o Bước 1: ["Thuoc", A, MatPhang[A,B,C]] ["Thuoc", A, MatPhang[A,K,J]] => ["Thuoc", A, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C])] o Bước 2: J = TrungDiem(D,C) TrungDiem(D,B) = K

=> ["SongSong", Duong[J,K], Duong[C,B]] o Bước 3:

["Thuoc", A, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C])] ["Thuoc", Duong[J,K], MatPhang[A,K,J]]

["Thuoc", Duong[B,C], MatPhang[A,B,C]] ["SongSong", Duong[J,K], Duong[B,C]] => [g, "Duong"];

GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C]) = g; ["Thuoc", A, g]; ["SongSong", g, Duong[J,K]]; ["SongSong", g,

Duong[B,C]] o Bước 4:

GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C]) = g => GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C])

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

************************************************************* Yêu cầu: XacDinh GiaoDiem(Duong[B,_I],MatPhang[A,K,J])

************************************************************* o Bước 5: ["Thuoc", A, MatPhang[A,C,D]] ["Thuoc", A, MatPhang[A,K,J]] => ["Thuoc", A, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,C,D])] o Bước 6:

["Thuoc", _I, Duong[A,C]]

["Thuoc", Duong[A,C], MatPhang[A,B,C]] => ["Thuoc", _I, MatPhang[A,B,C]]

o Bước 7:

["Thuoc", _I, Duong[A,C]]

["Thuoc", Duong[A,C], MatPhang[A,C,D]] => ["Thuoc", _I, MatPhang[A,C,D]]

o Bước 8:

["Thuoc", J, Duong[C,D]]

["Thuoc", Duong[C,D], MatPhang[A,C,D]] => ["Thuoc", J, MatPhang[A,C,D]] o Bước 9: ["Thuoc", J, MatPhang[A,C,D]] ["Thuoc", J, MatPhang[A,K,J]] => ["Thuoc", J, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,C,D])] o Bước 10: ["Thuoc", A, Duong[A,C]] ["Thuoc", A, Duong[A,J]] => A = GiaoDiem(Duong[A,C],Duong[A,J]) o Bước 11: ["Thuoc", B, Duong[B,C]] ["Thuoc", B, Duong[B,_I]] => B = GiaoDiem(Duong[B,C],Duong[B,_I]) o Bước 12: B = GiaoDiem(Duong[B,C],Duong[B,_I])

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

=> ["Cat", Duong[B,C], Duong[B,_I]] o Bước 13: ["Thuoc", A, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,C,D])] ["Thuoc", J, GiaoTuyen(MatPhang[A,K,J],MatPhang[A,C,D])] => Duong[A,J] = GiaoTuyen(MatPhang[A,C,D],MatPhang[A,K,J]) o Bước 14: GiaoTuyen(MatPhang[A,K,J],MatPhang[A,B,C]) = g => ["Thuoc", g, MatPhang[A,B,C]]; ["Thuoc", g, MatPhang[A,K,J]]

o Bước 15:

["Thuoc", Duong[B,_I], MatPhang[A,B,C]] ["Thuoc", Duong[B,C], MatPhang[A,B,C]] ["Thuoc", g, MatPhang[A,B,C]]

["SongSong", g, Duong[B,C]] (adsbygoogle = window.adsbygoogle || []).push({});

["Cat", Duong[B,_I], Duong[B,C]] => ["Cat", Duong[B,_I], g]

o Bước 16:

["Thuoc", g, MatPhang[A,B,C]]

["Thuoc", Duong[B,_I], MatPhang[A,B,C]] ["Cat", Duong[B,_I], g]

=> [O, "Diem"]; GiaoDiem(Duong[B,_I],g) = O

o Bước 17:

GiaoDiem(Duong[B,_I],g) = O

=> ["Thuoc", O, g]; ["Thuoc", O, Duong[B,_I]] o Bước 18: ["Thuoc", O, g] ["Thuoc", g, MatPhang[A,K,J]] => ["Thuoc", O, MatPhang[A,K,J]] o Bước 19: ["Thuoc", O, Duong[B,_I]] ["Thuoc", O, MatPhang[A,K,J]]

Not[["Thuoc", Duong[B,_I], MatPhang[A,K,J]]] => O = GiaoDiem(Duong[B,_I],MatPhang[A,K,J])

o Bước 20:

O = GiaoDiem(Duong[B,_I],MatPhang[A,K,J]) => GiaoDiem(Duong[B,_I],MatPhang[A,K,J])

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

Ví dụ 2: (B92_p72_b3) Cho tứ diện ABCD, M là trung điểm của cạnh AB và G là trọng tâm của tam giác (ACD).

c) Tìm giao điểm của đường thẳng MG với mp(BCD).

d) Xác định giao tuyến của hai mặt phẳng mp(MNG) và mp(ACD).

e) N là một điểm thuộc cạnh B C. Xác định giao tuyến của hai mặt phẳng mp(MNG) và mp(AND).

Bài giải chương trình đưa ra:

************************************************************* Yêu cầu: Tim GiaoDiem(Duong[M,G],MatPhang[B,C,D])

************************************************************* o Bước 1:

M = TrungDiem(A,B)

=> Doan[A,M] . length = 1/2*(Doan[A,B] . length); ["NamGiua", M, Doan[A,B]]

o Bước 2:

["Thuoc", B, Duong[A,B]]

["Thuoc", B, MatPhang[B,C,D]]

Not[["Thuoc", Duong[A,B], MatPhang[B,C,D]]] => B = GiaoDiem(Duong[A,B],MatPhang[B,C,D])

o Bước 3:

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

=> [Y, "Diem"]; TrungDiem(C,D) = Y o Bước 4:

["Thuoc", Y, Duong[C,D]]

["Thuoc", Duong[C,D], MatPhang[B,C,D]] => ["Thuoc", Y, MatPhang[B,C,D]] (adsbygoogle = window.adsbygoogle || []).push({});

o Bước 5:

["TrongTam", G, TamGiac[A,C,D]] Y = TrungDiem(C,D)

=> Doan[A,G] . length = 2/3*(Doan[A,Y] . length); ["NamGiua", G, Doan[A,Y]]

o Bước 6:

["NamGiua", G, Doan[A,Y]] ["NamGiua", M, Doan[A,B]]

Doan[A,G] . length/(Doan[A,Y] . length) = 2/3 Doan[A,M] . length/(Doan[A,B] . length) = 1/2

Doan[A,M] . length/(Doan[A,B] . length) < Doan[A,G] . length/(Doan[A,Y] . length)

=> ["Cat", Duong[G,M], Duong[Y,B]]; [V, "Diem"]; GiaoDiem(Duong[G,M],Duong[Y,B]) = V; ["NamGiua", B, Doan[Y,V]]; ["NamGiua", M, Doan[G,V]]

o Bước 7:

GiaoDiem(Duong[G,M],Duong[Y,B]) = V

=> ["Thuoc", V, Duong[G,M]]; ["Thuoc", V, Duong[Y,B]] o Bước 8:

["Thuoc", V, Duong[B,Y]]

["Thuoc", Duong[B,Y], MatPhang[B,C,D]] => ["Thuoc", V, MatPhang[B,C,D]]

o Bước 9:

["Thuoc", V, Duong[G,M]]

["Thuoc", V, MatPhang[B,C,D]]

Not[["Thuoc", Duong[G,M], MatPhang[B,C,D]]] => V = GiaoDiem(Duong[G,M],MatPhang[B,C,D])

o Bước 10:

V = GiaoDiem(Duong[G,M],MatPhang[B,C,D]) => GiaoDiem(Duong[G,M],MatPhang[B,C,D])

************************************************************* Yêu cầu: Tim GiaoDiem(Duong[M,G],MatPhang[A,N,D])

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

o Bước 11:

["Thuoc", M, Duong[A,B]]

["Thuoc", Duong[A,B], MatPhang[A,B,D]] => ["Thuoc", M, MatPhang[A,B,D]] o Bước 12: ["Thuoc", A, MatPhang[A,B,D]] ["Thuoc", A, MatPhang[A,N,D]] => ["Thuoc", A, GiaoTuyen(MatPhang[A,N,D],MatPhang[A,B,D])] o Bước 13: ["Thuoc", D, MatPhang[A,B,D]] ["Thuoc", D, MatPhang[A,N,D]] => ["Thuoc", D, GiaoTuyen(MatPhang[A,N,D],MatPhang[A,B,D])] o Bước 14: ["Thuoc", A, GiaoTuyen(MatPhang[A,N,D],MatPhang[A,B,D])] ["Thuoc", D, GiaoTuyen(MatPhang[A,N,D],MatPhang[A,B,D])] => Duong[A,D] = GiaoTuyen(MatPhang[A,B,D],MatPhang[A,N,D]) o Bước 15: ["Thuoc", A, Duong[A,B]] ["Thuoc", A, Duong[A,D]] => A = GiaoDiem(Duong[A,B],Duong[A,D]) o Bước 16: ["Thuoc", C, Duong[B,C]] ["Thuoc", C, Duong[D,C]] => C = GiaoDiem(Duong[B,C],Duong[D,C]) o Bước 17: TrungDiem(C,D) = Y => ["NamGiua", Y, Doan[C,D]] o Bước 18: ["Thuoc", Y, Duong[A,G]] ["Thuoc", Y, Duong[Y,B]] => Y = GiaoDiem(Duong[A,G],Duong[Y,B]) o Bước 19: ["NamGiua", N, Doan[B,C]] ["NamGiua", Y, Doan[D,C]] Not[["ThangHang", B, C, D]]

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

=> [O, "Diem"]; GiaoDiem(Duong[B,Y],Duong[D,N]) = O; ["NamGiua", O, Doan[D,N]]; ["NamGiua", O, Doan[B,Y]]

o Bước 20:

["Thuoc", O, Duong[D,N]]

["Thuoc", Duong[D,N], MatPhang[A,N,D]] => ["Thuoc", O, MatPhang[A,N,D]] o Bước 21: ["NamGiua", M, Doan[A,B]] ["NamGiua", G, Doan[A,Y]] ["NamGiua", O, Doan[Y,B]] Not[["ThangHang", A, Y, B]] => [Q, "Diem"]; GiaoDiem(Duong[M,G],Duong[A,O]) = Q; ["NamGiua", Q, Doan[A,O]]; ["NamGiua", Q, Doan[M,G]]

o Bước 22: (adsbygoogle = window.adsbygoogle || []).push({});

["Thuoc", Q, Duong[A,O]]

["Thuoc", Duong[A,O], MatPhang[A,N,D]] => ["Thuoc", Q, MatPhang[A,N,D]]

o Bước 23:

["Thuoc", Q, Duong[G,M]]

["Thuoc", Q, MatPhang[A,N,D]]

Not[["Thuoc", Duong[G,M], MatPhang[A,N,D]]] => Q = GiaoDiem(Duong[G,M],MatPhang[A,N,D]) o Bước 24: Q = GiaoDiem(Duong[G,M],MatPhang[A,N,D]) => GiaoDiem(Duong[G,M],MatPhang[A,N,D]) ************************************************************* Yêu cầu: XacDinh GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D]) ************************************************************* o Bước 25: ["Thuoc", N, MatPhang[A,N,D]] ["Thuoc", N, MatPhang[M,N,G]] => ["Thuoc", N, GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D])] o Bước 26:

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

["Thuoc", Q, Duong[G,M]]

["Thuoc", Duong[G,M], MatPhang[M,N,G]] => ["Thuoc", Q, MatPhang[M,N,G]] o Bước 27: ["Thuoc", Q, MatPhang[A,N,D]] ["Thuoc", Q, MatPhang[M,N,G]] => ["Thuoc", Q, GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D])] o Bước 28: ["Thuoc", Q, GiaoTuyen(MatPhang[A,N,D],MatPhang[M,N,G])] ["Thuoc", N, GiaoTuyen(MatPhang[A,N,D],MatPhang[M,N,G])] => Duong[Q,N] = GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D]) o Bước 29: Duong[Q,N] = GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D]) => GiaoTuyen(MatPhang[M,N,G],MatPhang[A,N,D]) 4.2.3. So sánh, nhận định, đánh giá

Hiện nay có nhiều chương trình giải tốn hình học nổi tiếng như JGEX[15], Mathway[21] cho ra lời giải tự nhiên theo từng bước cụ thể. Ngồi những ưu điểm thì các chương trình này có những hạn chế nhất định. Ví dụ như JGEX khơng giải được nhiều dạng tốn hình học, như tính tốn giá trị của các đối tượng hình học và phạm vi giải tốn của JGEX chỉ trong kiến thức về hình học hai chiều, Mathway thì giải một số dạng tốn đơn giản trong hình học giải tích. JGEX có một ưu điểm mạnh là hỗ trợ người dùng về hình vẽ trực quan giúp người dùng dễ theo dõi trong q trình giải tốn. Tuy nhiên tri thức hình học hai chiều được việc biểu diễn trong JGEX sử dụng phương pháp vị từ nên không thể hiện đầy đủ các khía cạnh của kiến thức hình học, như tri thức về tính tốn giá trị của đối tượng hình học. Ngược lại với JGEX, chương trình giải tốn hình học khơng gian đề tài cài đặt có ưu điểm là được biểu diễn một cách tự nhiên mà con người có thể dễ dàng sửa đổi và cập nhập tri thức.

Bài báo [16] dùng phương pháp thể tích nhằm giải các bài tốn hình học khơng gian trên máy tính. Phương pháp thể tích này có thể giúp giải nhiều dạng tốn trong hình học khơng gian nhưng lời giải hồn tồn khơng tự nhiên theo cách

Chương 4. Ứng dụng thiết kế hệ giải tốn Hình học khơng gian

giải của con người, và cách giải này hồn tồn khơng được sử dụng trên thực tế. Ngược lại, chương trình giải tốn hình học khơng gian được đề tài cài đặt có thể cho ra lời giải hoàn toàn tự nhiên và phù hợp với cách giải của con người.

Một phần của tài liệu Phát triển một mô hình biểu diễn tri thức hàm và phương pháp giải quyết các vấn đề (Trang 70 - 81)