7. Cấu trúc của luận văn
3.1. Giới thiệu
Trong luận văn này, học viên tập trung nghiên cứu thiết kế và cài đặt một phần mềm quản lý hệ sinh của ánh xạ đóng. Chương trình được viết bằng ngôn ngữ C++ với các chức năng chủ yếu là vận dụng hệ sinh để giải các bài toán suy dẫn.
Việc cài đặt chương trình ứng dụng nhằm mục đích mô phỏng các kết quả nghiên cứu của học viên thông qua các ví dụ.
Chương trình có tên là “HE SUY DAN” (Dscheme) với chức năng đầu vào là các file cho trước (có cấu trúc gồm: các đối tượng, tập luật và câu hỏi), sau đó chương trình sẽ xử lý và đưa ra kết quả 2 dạng toán trên.
3.2. Các lớp đối tƣợng của chƣơng trình Chƣơng trình
DS (Dscheme) là hệ suy dẫn trên hệ sinh = (U, F), trong đó:
U là tập hữu hạn các đối tượng.
F là tập luật dẫn dạng X Y, X, Y là các tập con của U. Cơ chế suy dẫn (motor suy dẫn). Ba luật Amstrong: (A1) Phản xạ: nếu X Y thì X Y;
(A2) Gia tăng: nếu X Y thì XZ YZ với mọi Z U; (A3) Bắc cầu: Nếu X Y và Y Z thì X Z.
Run
Bước 1: Soạn file có tên tùy ý (ngầm định là hsd.sd) Bước 2: Gọi hệ DS
Bước 3: Muốn thực hiện file ngầm định (hsd.sd) bấm: r Muốn thực hiện file tự đặt bấm tên file.
Soạn thảo
Dùng Notepad/Wordpad hoặc bộ soạn thảo chương trình Devcpp,... soạn file text.
File Input
Dữ liệu đầu vào cho chương trình có cấu trúc như sau: - Tên file:
- Số đối tượng
- Tên đối tượng // Số thứ tự của đối tượng từ nhỏ đến lớn - Số luật:
- Các luật // Diễn giải - Số câu hỏi:
- Câu hỏi (theo 2 dạng toán):
+ Dạng toán 1: có dấu -> : a b c ... -> d + Dạng toán 2: bắt đầu bằng dấu ?: ? a b c...
3.3. Giao diện của chƣơng trình
- Giao diện của chương trình khi khởi động
Hình 3.1 Giao diện chính chƣơng trình
- Giao diện nạp file để giải các bài toán:
+ Trường hợp 1: Chương trình mặc định lấy dữ liệu trên file có trước để thực hiện các lệnh (file có tên “hsd.sd”), nhập “r” tại Run.
Hình 3.2 Giao diện chƣơng trình khi mặc định lấy dữ liệu
+ Trường hợp 2: Nhập tên file cần chạy trên RUN (Tên file: Test1)
Sau khi bắt đầu chạy, chương trình sẽ hiển thị: + Số đối tượng.
+ Ký pháp và ngữ nghĩa của các tập đối tượng. + Số luật.
+ Danh mục các tập luật. + Mã số đối tượng. + Mã số cơ sở.
- Tiếp theo, chương trình sẽ diễn giải ngữ nghĩa các luật:
Hình 3.4 Giao diện chƣơng trình hiển thị ngữ nghĩa các luật
- Truy vấn và trả lời theo các câu hỏi của 4 dạng toán: + Truy vấn loại I (Dạng toán 1):
Hình 3.5 Giao diện chƣơng trình đƣa ra kết quả dạng toán 1
+ Truy vấn loại II (Dạng toán 2):
3.4. Kiểm thử, đánh giá
Test 1 (Dạng toán 1): Đa giác
Tên file: dagiac1
dagiac1
Mô tả Chú thích
13 13// có 13 đối tƣợng
Tu giac Tu giac // 1
Hinh binh hanh Hinh binh hanh // 2 Hinh chu nhat Hinh chu nhat // 3 Hinh vuong Hinh vuong // 4 Hinh thoi Hinh thoi // 5 Hinh thang Hinh thang // 6 Hinh thang can Hinh thang can // 7 Co 2 canh song song Co 2 canh song song // 8 Co 2 cap canh song song Co 2 cap canh song song // 9 Co 2 canh ke bang nhau Co 2 canh ke bang nhau // 10 Co 1 goc vuong Co 1 goc vuong // 11
Co 2 duong cheo vuong goc Co 2 duong cheo vuong goc // 12 Co 2 duong cheo bang nhau Co 2 duong cheo bang nhau // 13
8 8 // có 8 luật
1 8 -> 6 1 8 -> 6 // 1. Tu giac co 2 canh song song la hinh thang
1 9 -> 2 1 9 -> 2 // 2. Tu giac co 2 cap canh song song la hinh binh hanh
2 11 -> 3 2 11 -> 3 // 3. Hinh binh hanh co 1 goc vuong la hinh chu nhat
2 12 -> 5 2 12 -> 5 // 4. Hinh binh hanh co 2 duong cheo vuong goc la hinh thoi
3 10 -> 4 3 10 -> 4 // 5. Hinh chu nhat co 2 canh ke bang nhau la hinh vuong
dagiac1
Mô tả Chú thích
2 13 -> 3 2 13 -> 3 // 6. Hinh binh hanh co 2 duong cheo bang nhau la hinh chu nhat
6 13 -> 7 6 13 -> 7 // 7. Hinh thang co 2 duong cheo bang nhau la hinh thang can
5 13 -> 4 5 13 -> 4 // 8. Hinh thoi co 2 duong cheo bang nhau la hinh vuong
3 3 // 3 câu hỏi
1 9 13 -> 3 1 9 13 -> 3 // ? 1a. Tu giac co 2 cap canh song song va 2 duong cheo bang nhau la hinh chu nhat? 1 8 13 -> 7 1 8 13 -> 7 // ? 1b. Tu giac co 2 canh song song va
2 duong cheo bang nhau la hinh thang can?
2 11 10 -> 4 2 11 10 -> 4 // ? 1c. Hinh binh hanh co 1 goc vuong va 2 canh ke bang nhau la hinh vuong? Chương trình kiểm thử để mô phỏng ví dụ trên đã đưa ra đúng các kết quả đã được giải ở phần trên:
Câu 1a: Kết quả là hình chữ nhật (N): Đúng. Câu 1b: Kết quả là hình thang cân (C): Đúng. Câu 1c: Kết quả là hình vuông (V): Đúng.
Chương trình đọc đề bài Dagiac1 và các câu hỏi, trả lời được thể hiện minh họa bằng các hình như sau:
Hình 3.8 Kết quả câu 1a bài toán dagiac1
Hình 3.9 Kết quả câu 1b bài toán dagiac1
Test 2 (Dạng toán 1): Tam giác
Tên file: tamgiac1
tamgiac1
Mô tả Chú thích
11 11// có 11 đối tƣợng
Thang Thang // 1
Tam giac Tam giac // 2
Tam giac vuong Tam giac vuong // 3 Tam giac can Tam giac can // 4 Tam giac deu Tam giac deu // 5
Tam giac vuong can Tam giac vuong can // 6
Co do dai mot canh day bang 0 Co do dai mot canh day bang 0 // 7 Co hai goc 60 do Co hai goc 60 do // 8
Noi tiep duong tron co mot canh la duong kinh
Noi tiep duong tron co mot canh la duong kinh // 9
Co mot truc doi xung Co mot truc doi xung // 10 Co mot goc 45 do Co mot goc 45 do // 11
5 5 // có 5 luật
1 7 -> 2 1 7 -> 2 // 1. Hinh thang co do dai mot canh day bang 0 la hinh tam giac
2 8 -> 5 2 8 -> 5 // 2. Tam giac co hai goc 60 do la tam giac deu
2 9 -> 3
2 9 -> 3 // 3. Tam giac noi tiep duong tron co mot canh la duong kinh la tam giac vuong
2 10 -> 4 2 10 -> 4 // 4. Tam giac co mot truc doi xung la tam giac can
3 11 -> 6 3 11 -> 6 // 5. Tam giac vuong co mot goc 45 do la tam giac vuong can
2 2 // 2 câu hỏi
1 7 8 -> 5 1 7 8 -> 5 // ? 2a. Hinh thang co do dai mot canh day bang 0 va hai goc 60 do la tam giac deu?
2 10 11 -> 6 2 10 11 -> 6 // ? 2b. Tam giac co mot truc doi xung va mot goc 45 do la tam giac vuong can?
Chương trình kiểm thử để mô phỏng ví dụ trên đã đưa ra đúng các kết quả đã được giải ở phần trên:
Câu 2a: Kết quả là tam giác đều (D): Đúng.
Câu 2b: Kết quả không là tam giác vuông cân (A): Sai.
Chương trình đọc đề bài Tamgiac1 và các câu hỏi, trả lời được thể hiện minh họa bằng các hình như sau:
Hình 3.11 Đọc đề bài từ file tamgiac1
Test 3 (Dạng toán 2): Đa giác
Tên file: dagiac2
dagiac2
Mô tả Chú thích
13 13// có 13 đối tƣợng
Tu giac Tu giac // 1
Hinh binh hanh Hinh binh hanh // 2 Hinh chu nhat Hinh chu nhat // 3 Hinh vuong Hinh vuong // 4 Hinh thoi Hinh thoi // 5 Hinh thang Hinh thang // 6 Hinh thang can Hinh thang can // 7 Co 2 canh song song Co 2 canh song song // 8 Co 2 cap canh song song Co 2 cap canh song song // 9 Co 2 canh ke bang nhau Co 2 canh ke bang nhau // 10 Co 1 goc vuong Co 1 goc vuong // 11
Co 2 duong cheo vuong goc Co 2 duong cheo vuong goc // 12 Co 2 duong cheo bang nhau Co 2 duong cheo bang nhau // 13
8 8 // có 8 luật
1 8 -> 6 1 8 -> 6 // 1. Tu giac co 2 canh song song la hinh thang
1 9 -> 2 1 9 -> 2 // 2. Tu giac co 2 cap canh song song la hinh binh hanh
2 11 -> 3 2 11 -> 3 // 3. Hinh binh hanh co 1 goc vuong la hinh chu nhat
2 12 -> 5 2 12 -> 5 // 4. Hinh binh hanh co 2 duong cheo vuong goc la hinh thoi
dagiac2
Mô tả Chú thích
3 10 -> 4 3 10 -> 4 // 5. Hinh chu nhat co 2 canh ke bang nhau la hinh vuong
2 13 -> 3 2 13 -> 3 // 6. Hinh binh hanh co 2 duong cheo bang nhau la hinh chu nhat
6 13 -> 7 6 13 -> 7 // 7. Hinh thang co 2 duong cheo bang nhau la hinh thang can
5 13 -> 4 5 13 -> 4 // 8. Hinh thoi co 2 duong cheo bang nhau la hinh vuong
3 3 // 3 câu hỏi
? 2 10 11 ? 2 10 11 // ? 3a. Hinh binh hanh co 2 canh ke bang nhau va co 1 goc vuong la hinh gi? ? 1 13 12 ? 1 13 12 // ? 3b. Tu giac co 2 duong cheo
bang nhau va vuong goc voi nhau la hinh gi? ? 2 12 13 ? 2 12 13 // ? 3c. Hinh binh hanh co 2
duong cheo vuong goc va bang nhau la hinh gi?
Chương trình kiểm thử để mô phỏng ví dụ trên đã đưa ra đúng các kết quả đã được giải ở phần trên:
Câu 3a: Kết quả là hình chữ nhật (N), hình vuông (V).
Câu 3b: Kết quả là hình tứ giác (#) - không phải là hình đặc biệt. Câu 3c: Kết quả là hình chữ nhật (N), hình vuông (V), hình thoi (O). Chương trình đọc đề bài Dagiac2 và các câu hỏi, trả lời được thể hiện minh họa bằng các hình như sau:
Hình 3.13 Đọc đề bài từ file dagiac2
Hình 3.15 Kết quả câu 2b bài toán dagiac2
Hình 3.16 Kết quả câu 2c bài toán dagiac2
Test 4 (Dạng toán 2): Tam giác
Tên file: tamgiac2
tamgiac2
Mô tả Chú thích
11 11// có 11 đối tƣợng
Thang Thang // 1
Tam giac Tam giac // 2
Tam giac vuong Tam giac vuong // 3 Tam giac can Tam giac can // 4 Tam giac deu Tam giac deu // 5
Tam giac vuong can Tam giac vuong can // 6
tamgiac2
Mô tả Chú thích
Co hai goc 60 do Co hai goc 60 do // 8 Noi tiep duong tron co mot
canh la duong kinh
Noi tiep duong tron co mot canh la duong kinh // 9
Co mot truc doi xung Co mot truc doi xung // 10 Co mot goc 45 do Co mot goc 45 do // 11
5 5 // có 5 luật
1 7 -> 2 1 7 -> 2 // 1. Hinh thang co do dai mot canh day bang 0 la hinh tam giac
2 8 -> 5 2 8 -> 5 // 2. Tam giac co hai goc 60 do la tam giac deu
2 9 -> 3
2 9 -> 3 // 3. Tam giac noi tiep duong tron co mot canh la duong kinh la tam giac vuong
2 10 -> 4 2 10 -> 4 // 4. Tam giac co mot truc doi xung la tam giac can
3 11 -> 6 3 11 -> 6 // 5. Tam giac vuong co mot goc 45 do la tam giac vuong can
2 2 // 2 câu hỏi
? 2 9 11 ? 2 9 11 // ? 4a. Tam giac noi tiep duong tron co mot canh la duong kinh va mot goc 45 do la tam giac gi?
? 1 7 10 ? 1 7 10 // ? 4b. Hinh thang co do dai mot canh day bang 0 va mot truc doi dung la tam gia hinh gi?
Chương trình kiểm thử để mô phỏng ví dụ trên đã đưa ra đúng các kết quả đã được giải ở phần trên:
Câu 4a: Kết quả là tam giác vuông (V), tam giác vuông cân (A). Câu 4b: Kết quả là tam giác (G), tam giác cân (C).
Chương trình đọc đề bài Tamgiac2 và các câu hỏi, trả lời được thể hiện minh họa bằng các hình như sau:
Hình 3.17 Đọc đề bài từ file tamgiac2
Test 5 (Dạng toán 2): Tín chỉ
Tên file: tinchi2
tinchi2
Mô tả Chú thích
26 26// có 26 đối tƣợng
Van hoc dan gian Viet Nam 1 Van hoc dan gian Viet Nam 1 // 1. Mon 1 Van hoc dan gian Viet Nam 2 Van hoc dan gian Viet Nam 2 // 2. Mon 2 Van hoc trung dai 1 Van hoc trung dai 1 // 3. Mon 3
Van hoc trung dai 2 Van hoc trung dai 2 // 4. Mon 4 Van hoc hien dai 1 Van hoc hien dai 1 // 5. Mon 5 Van hoc hien dai 2 Van hoc hien dai 2 // 6. Mon 6 Van hoc hien dai 3 Van hoc hien dai 3 // 7. Mon 7
Van hoc, nha van, ban doc Van hoc, nha van, ban doc // 8. Mon 8 Tien trinh van hoc Tien trinh van hoc // 9. Mon 9
Van hoc phuong Tay 1 Van hoc phuong Tay 1 // 10. Mon 10
Van hoc Nga Van hoc Nga // 11. Mon 11
Tu vung ngu nghia tieng Viet Tu vung ngu nghia tieng Viet // 12. Mon 12 Ngu phap va van ban tieng Viet Ngu phap va van ban tieng Viet // 13. Mon 13 Phong cach hoc tieng Viet Phong cach hoc tieng Viet // 14. Mon 14
Chu Han, chu Nom Chu Han, chu Nom // 15. Mon 15
Van ban Nom Van ban Nom // 16. Mon 16
Ngon ngu va van hoc Ngon ngu va van hoc // 17. Mon 17
Doc van, lam van Doc van, lam van //18. Mon 18
Giao tiep va ngu am tieng Viet Giao tiep va ngu am tieng Viet // 19. Mon 19 Thi phap van hoc Viet Nam 1 Thi phap van hoc Viet Nam 1 // 20. Mon 20 Thi phap van hoc Viet Nam 2 Thi phap van hoc Viet Nam 2 // 21. Mon 21 Phuong phap luan nghien cuu
van hoc
Phuong phap luan nghien cuu van hoc //22. Mon 22
Thi phap tho Duong Thi phap tho Duong // 23. Mon 23
Doi moi tieu thuyet phuong Tay hien dai
Doi moi tieu thuyet phuong Tay hien dai // 24. Mon 24
tinchi2
Mô tả Chú thích
Tac pham va the loai Tac pham va the loai // 25. Mon 25
Co so ngon ngu Co so ngon ngu // 26. Mon 26