Giới thiệu đề tàiTrong quá trình xây dựng hệ thống IPS intelligent problem-solving nhằm giải quyết các bài toán thông minh, xử lý các bài toán về hình học phẳng là một trong những yếu tố
Trang 1ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
University of Information Technology VNU-HCM
Trang 2ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
University of Information Technology VNU-HCM
KHOA CÔNG NGHỆ PHẦN MỀM
XÂY DỰNG ỨNG DỤNG HỖ TRỢ VẼ HÌNH HỌC
CHO HỌC SINH TRUNG HỌC CƠ SỞ
Giảng viên hướng dẫn: NGUYỄN THANH BÌNH
NGUYỄN ĐÌNH HIỂN
TPHCM, ngày 12 tháng 3 năm 2020
Trang 3Nội dung chính:
I Giới thiệu đề tài.
II Mô hình toán tử quan hệ Rela-Ops model.
III Mạng quan hệ giữa các đối tượng hình học.
IV Thiết kế thuật giải vẽ hình tự động trong hình học phẳng.
V Xây dựng ứng dụng.
VI Tổng kết.
Tài liệu tham khảo.
2
Trang 4I Giới thiệu đề tài
Trong quá trình xây dựng hệ thống IPS (intelligent problem-solving) nhằm giải quyết các bài toán thông minh, xử lý các bài toán về hình học phẳng là một trong những yếu tố quan trọng, nhằm giúp đa dạng hóa sự tưởng tượng cũng như cung cấp những thông tin dưới dạng hình ảnh cho một bài toán cụ thể.
Từ ý tưởng lớn đó, nhóm đã nảy ra ý tưởng xây dựng một ứng dụng có khả năng vẽ hình học tự động.
Trang 5Sketchpad GeoGebrA Maple Paint
4
Cùng tìm hiểu một số ứng dụng hỗ trợ vẽ hình đã có sẵn trước đây
Nhìn chung các ứng dụng sẵn có hiện nay đều có điểm chung là việc hỗ trợ vẽ hình rất tốt, giao diện dễ dùng Tuy nhiên khuyết điểm lớn nhất là chúng còn phải yêu cầu người dùng vẽ thủ công, tức là người dùng vẫn phải định hình rõ hình vẽ như thế nào trước khi sử dụng các chương trình
=> Vẽ hình tự động sẽ giải quyết các bài toán vẽ hình thủ công bằng cách chỉ yêu cầu người dùng nhập vào đề bài, ứng dụng sẽ tự động tính toán và cho ra hình vẽ thỏa mãn yêu cầu đề bài mà không cần yêu cầu khác từ người dùng
Trang 6Mục tiêu đề tài:
• Xây dựng mô hình biểu diễn kiến thức hình học phẳng cấp THCS.
• Nghiên cứu các vấn đề cho việc vẽ hình phẳng tự động.
• Thiết kế các thuật giải để giải quyết các vấn đề vẽ hình tự động.
• Xây dựng chương trình thử nghiệm cho việc vẽ hình tự động các bài toán hình học cấp THCS.
Trang 7II Mô hình toán tử quan hệ Rela-Ops
Một mô hình tri thức quan hệ và toán tử (Rela-Ops model) bao gồm 4 thành phần:
( , , ps, ules )
là một tập hợp các khái niệm, với mỗi khái niệm gọi là c là một lớp các đối tượng và mỗi đối tượng có mộttập thể hiện được gọi là Ic Mỗi khái niệm c là một ống (Attrs, Facts, EqObj, RulObj), với Attrs là tập cácthuộc tính (attributes), Facts là tập các sự kiện nội tại của một khái niệm c, EqObj là các quan hệ dưới dạngđẳng thức giữa các thuộc tính của khái niệm c và cuối cùng RulObj là tập các quy tắc suy diễn nội tại củakhái niệm c đó
là một tập các quan hệ giữa các khái niệm trong bao gồm các quan hệ cấp bậc và các quan hệ nhịphân giữa các khái niệm trong
ps là tập các toán tử giữa các khái niệm có trong Nó bao gồm cả toán tử một ngôi và toán tử hai ngôi
ules là tập các quy tắc suy luận của miền tri thức Trong phạm vi của nghiên cứu này, ules-set được phânthành bốn loại quy tắc: quy tắc suy diễn, quy tắc để khởi tạo ra một đối tượng mới, quy tắc tương đương và
Trang 8C – tập các khái niệm: Tập C bao gồm các khái
Khái niệm DoanThang C(1) có cấu trúc:
Attrs = {_A, _B, len}, trong đó:
_A, _B: Diem
len: ;
Facts = {len > 0}
RulObj = { }
C(2) = {Goc, TamGiac và các dạng đặc biệt,
TuGiac và các dạng đặc biệt, DuongTron, …}
Khái niệm HinhBinhHanh C(2) gồm có:
Attrs = { A, B, C, D, O, a, b, c, d, m, n, S, p, }
A, B, C, D, O: Diem
a, b, c, d, m, n: DoanThang
S, p:
Facts = { a//c, b//d, a = c, b = d, O = m giao n,
O trung điểm AC, O trung điểm BD }
Trang 9R – tập các mối quan hệ:
Có rất nhiều loại mối quan hệ giữa các khái niệm
trong C
Mối quan hệ c C: mối quan hệ kép giữa các đối
tượng cùng loại như:
• Mối quan hệ giữa các tam giác bằng nhau
• Mối quan hệ giữa các tam giác đồng dạng
Mối quan hệ ci cj (ci, cj C): mối quan hệ kép giữa
các đối tượng khác loại:
• Mối quan hệ TrungDiem: giữa đoạn thẳng và
điểm
• Mối quan hệ VuongGoc (): giữa 2 đường thẳng,
2 đoạn thẳng, giữa 1 đường thẳng và một đoạn
thẳng,…
• Mối quan hệ SongSong (//): giữa 2 đường thẳng,
2 đoạn thẳng, giữa 1 đường thẳng và một đoạn
thẳng,…
• Mối quan hệ Giao: giữa 2 đường thẳng, 2 đoạn
thẳng, giữa 1 đường thẳng và một đoạn thẳng,… 8
Bên cạnh đó, một số quan hệ phân cấp giữa các khái
niệm trong C cũng được xây dựng:
• Mối quan hệ phân cấp trong lớp TamGiac.
• Mối quan hệ phân cấp trong lớp TuGiac.
Rules – tập các quy tắc: Một số quy tắc cụ thể có thể
được biểu diễn bởi quy tắc suy diễn:
a: DoanThang, b: DoanThang, c: DoanThang,
Nếu: a // b, b cThì: a c
O: Diem, AB: DoanThang, CD: DoanThang, Nếu: O = AB Giao CD
Thì: AOC = BOD và AOD = BOC
DEF: TamGiac, P: Diem, Q: Diem, Nếu: P TrungDiem DE, Q TrungDiem DF
Thì: PQ // EF, PQ = ½ EF
Trang 10[OBJECT] = [VALUE] AB = 5Góc(ABC) = 45 (độ) Xác định giá trị của đối tượng
[OBJECT] = [OBJECT] AB = ACGóc(ABC) = Góc(ABD)
Mô tả mối quan hệ giữa các đối tượng.[OBJECT] [RELATION] [OBJECT]
AB song song CD
AB vuông góc BC
AH phân giác BAC
[SHAPE TYPE] [SHAPE NAME]
Tam giác ABC
Tứ giác ABCDHình thoi MNPO
Trang 11III Mạng quan hệ giữa các đối tượng hình học
Mạng biểu diễn quan hệ giữa các đối tượng gồm hai thành phần:
(Vertex, Arc)
10
Vertex: Tập hợp các đỉnh biểu diễn các đối tượng, được
chia thành 2 loại:
Đối tượng nguyên thủy: là đối tượng được xác định
một cách riêng biệt, không cần phải thông qua các
đối tượng khác.
Đối tượng dẫn xuất: là các đối tượng được xác
định khi các đối tượng thành phần của nó xác định.
Arc: Tập hợp các cung có hướng nối giữa các đỉnh, mỗi cung biểu diễn quan hệ sinh ra giữa các đối tượng Có 2 loại là:
Cung liền: Biểu diễn mối quan hệ giữa các đối tượng
nguyên thủy.
Cung nét đứt: Biểu diễn mỗi quan hệ giữa đối tượng
nguyên thủy và đối tượng dẫn xuất hay mối quan hệ giữa 2 đối tượng dẫn xuất.
Ví dụ về mối quan hệ giữa các điểm trong một tam giác ABC:
Trang 12Trong mô hình trên, các loại sự kiện được định nghĩa như sau:
Sự kiện loại 1: cho biết thông tin về loại của đối tượng.
Ví dụ: hình tam giác, hình vuông, hình thoi, đường thẳng, đường tròn,…
Sự kiện loại 2: cho biết sự xác định của một đối tượng hoặc thuộc tính của một đối tượng.
Ví dụ: tam giác ABC, đoạn thẳng AB, đường tròn tâm C bán kính R,…
Sự kiện loại 3: sự xác định của một đối tượng hay thuộc tính của nó bởi một giá trị hằng số.
Ví dụ: đoạn thẳng AB = 5cm, tam giác ABC vuông tại A,…
Sự kiện loại 4: sự bằng nhau giữa các đối tượng hay giữa các thuộc tính của các đối tượng.
Ví dụ: đoạn thẳng AB = CD, góc ABC = góc MON,…
Sự kiện loại 5: về một quan hệ trên các đối tượng hay trên các thuộc tính của các đối tượng.
Ví dụ: A là giao điểm của đoạn OM và đoạn CD, AD là phân giác góc BAC,…
III Mạng quan hệ giữa các đối tượng hình học
Trang 13IV Thiết kế thuật giải vẽ hình tự động trong
hình học phẳng
Có 2 bài toán lớn cần giải quyết trong bài toán vẽ hình tự động:
lưới mô hình quan hệ giữa các đối tượng.
các đối tượng.
12
Trang 14Bài toán 1: Bài toán về việc hợp nhất các câu đặc tả để tạo thành mạng lưới mô hình quan hệ giữa các đối tượng
• Bước 1: Khởi tạo các biến điều kiện cần thiết.
• Bước 2: Duyện tuần tự các câu đặc tả của bài toán dưới dạng ngôn ngữ tự định nghĩa của chương trình.
• Bước 3: Kiểm tra tính đúng đắn của câu đặc tả.
• Bước 4: Tạo mạng lưới mô hình biểu diễn ứng với từng câu đặc tả.
• Bước 5: Gắn mạng lưới mô hình biểu diễn của từng câu đặc tả vào mạng lưới tổng thể của bài toán.
• Bước 6: Lặp lại bước 4 cho đến khi hết yêu cầu đề bài.
IV Thiết kế thuật giải vẽ hình tự động trong
hình học phẳng
Trang 15Ví dụ minh họa sau khi thực hiện giải thuật 1:
Đề bài:
Cho tam giác ABC (1)
BD là phân giác góc ABC (2)
CE là phân giác góc ACB (3)
Trang 16Bài toán 2: Bài toán về việc vẽ hình từ mô hình mạng lưới quan hệ giữa các đối tượng
• Bước 1: Khởi tạo các biến điều kiện cần thiết.
• Bước 2: Chạy thuật toán xác định độ ưu tiên của đối tượng nguyên thủy (điểm).
• Bước 3: Chọn ra đối tượng có độ ưu tiên cao nhất, tiến hành thực hiện các phương pháp luận dựa trên
thông tin có trong mạng lưới mô hình quan hệ giữa các đối tượng Từ đó xác định được tọa độ của đốitượng thông qua các hàm tính toán
• Bước 4: Kiểm tra tính đúng đắn của dữ kiện và lặp lại bước 2 cho đến khi tất cả các đối tượng nguyên
thủy đã được xác định
• Bước 5: Trả về tập các tọa độ của điểm và các dây nối điểm, đường tròn.
• Bước 6: Thực hiện vẽ hình bằng các thông tin đã có.
IV Thiết kế thuật giải vẽ hình tự động trong
hình học phẳng
Trang 17V Xây dựng ứng dụng
16
Từ những thuật giải của bài toán đã được trình bày ở trên, tiến hành xây dựng ứng dụng kèm với các yêu cầu
cơ bản:
Chức năng: vẽ hình tự động từ ngôn ngữ đặc tả của bài toán.
Giao diện: đơn giản, dễ tiếp cận, dễ dùng.
Tổ chức tri thức: có thể đáp ứng được đa phần các bài toán vẽ hình học của khối trung học cơ sở.
Tính tương thích cao và thời gian thực thi nhanh.
Trang 18Sơ đồ luồng dữ liệu:
Trang 19Hình ảnh chạy thực tế:
18
Đề tuyển sinh lớp 10:
Cho tam giác ABC, gọi D, E, F lần lượt
thuộc BC, AC và AB sao cho AD vuông góc
BC, BE vuông góc AC, CF vuông góc AB
Gọi là H là giao điểm của AD và BE Cho
đường tròn tâm O ngoại tiếp ABC, AD cắt
đường tròn tại M, BE cắt đường tròn lại N,
CF cắt đường tròn tại P
Trang 21VI Tổng kết
Kết quả đề tài:
Kết quả nghiên cứu:
• Tìm hiểu và ứng dụng được mô hình quan hệ toán tử Rela-Ops model từ đó xây dựng mô hình biễu diễn kiến thức hình học phẳng
• Đề xuất các lớp vấn đề giải quyết bài toán vẽ hình học tự động
• Thiết kế các thuật giải để giải quyết các vấn đề vẽ hình Từ đó xây dựng chương trình vẽ hình học phẳng tự động
• Áp dụng mô hình MVVM, phân chia các modules cụ thể, đảm bảo tính bảo trì và phát triển
• Là cơ sở nền dành cho các hệ thống giải toán khác có thể tích hợp vào 20
Trang 22VI Tổng kết
Khó khăn và giải pháp:
• Tìm thuật toán quyết định thứ tự ưu tiên xử lý node.
Giải nhiều dạng bài với tư duy của một học sinh cấp 2 Giải tuần tự từng câu trong đề bài; bổ sung điều kiện trong những dạng bài đặc biệt.
• Sai số trong quá trình tính toán.
Chuyển kết quả các phép tính thành chuỗi các phép toán, chỉ làm tròn kết quả sau cùng, giảm thiểu tối đa sai số trong quá trình thực thi.
Trang 23VI Tổng kết
Phương hướng phát triển:
• Nghiên cứu giải quyết các vấn đề bị hạn chế
• Hỗ trợ thêm các dạng đặc tả khác
• Cải tiến ngôn ngữ đặc tả bài toán để trở nên tự nhiên hơn
• Xây dựng API để tích hợp và các hệ thống giải toán khác
22
Trang 24Bài báo của khóa luận tốt nghiệp
[1] Hien D Nguyen, Khang Le, Phong T Luc, Minh N Phan, Method for automatically drawing the
figure of a problem in Plane Geometry, in Proceedings of 4 th International Conference on
Advanced Engineering and ICT-Convergence 2020 (ICAEIC 2020), pp 58 - 61, Ho Chi Minh, Viet
Nam, Jan 2020 ISSN: 2635-4586
Trang 25Tài liệu tham khảo
[1] H Nguyen, D Nguyen, V Pham Design an Intelligent Problems Solver about Solid
Geometry based on Knowledge model about Relation, in Proceedings of 2016 IEEE International
Conference on Knowledge and Systems Engineering (KSE 2016), Ha Noi, Vietnam, 2016, pp
150-155
[2] H.D Nguyen, V.T Pham, T.T Le, D.H Tran A Mathematical Approach for Representation
Knowledge about Relations and Its Application, in Proceedings of 2015 IEEE International
Conference on Knowledge and Systems Engineering (KSE 2015), Ho Chi Minh, Vietnam, 2015, pp.
324-327
[3] H.D Nguyen, V.T Pham Relational Network of Geometric Objects and Apply to Draw the
Figure of Problem automatically, Journal of Science, Special Issue, Can Tho University, pp 198–
204, 2013
[4] N.V Do, H.D Nguyen, A Selamat Knowledge-Based model of Expert Systems using
Rela-model International Journal of Software Engineering and Knowledge Engineering (IJSEKE), Vol 28,
No 8, pp 1047 – 1090, 2018
24