Đồ án Xây dựng phần mềm gia phả - Nguyễn Thị Thu Huyền
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Xây dựng phần mềm gia phả - Nguyễn Thị Thu Huyền", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_xay_dung_phan_mem_gia_pha_nguyen_thi_thu_huyen.pdf
Nội dung text: Đồ án Xây dựng phần mềm gia phả - Nguyễn Thị Thu Huyền
- MỤC LỤC MỤC LỤC 1 LỜI CẢM ƠN 3 DANH MỤC CÁC BẢNG 4 DANH MỤC CÁC HÌNH VẼ, BIỂU ĐỒ 5 LỜI MỞ ĐẦU 6 CHƢƠNG I: TỔNG QUAN VỀ HỆ MỜ 8 1. Tập mờ, logic mờ và hệ mờ 8 1.1. Tập mờ 8 1.2. Định nghĩa 8 1.3. Các phép toán đại số trên tập mờ 9 1.4. Số mờ 9 1.5. Nguyên lí suy rộng của Zadeh 9 2. Logic mờ 10 2.1. Ôn nhanh về logic mệnh đề cổ điển 10 2.2. Các phép toán cơ bản trong logic mờ 11 3. Quan hệ mờ 16 3.1. Khái niệm quan hệ mờ 16 3.2. Phép hợp thành 16 3.3. Tính chuyển tiếp: 17 3.4. Phƣơng trình quan hệ mờ. 17 4. Hệ trợ giúp lấy quyết định mờ 18 4.1. Bài toán lấy quyết định và vấn đề lập luận 18 4.2. Suy luận xấp xỉ và suy diễn mờ 20 4.3. Ví dụ bằng số: 24 4.4. Bài toán minh hoạ cho mệnh đề “If P then Q else Q1” 26 CHƢƠNG II: CÁC VẤN ĐỀ TRONG BÀI TOÁN QUẢN LÝ GIA PHẢ 28 1. Khảo sát hiện trạng 28 2. Bài toán quản lý gia phả 29 3. Xây dựng mối liên hệ giữa phép toán trong hệ logic mờ và dự báo truyền thống trên lĩnh vực: Năng lực, Học vấn. 30 3.1. Thống kê số ngƣời trong dòng họ. 30 3.2. Kết quả khảo sát về trình độ học vấn và năng lực làm việc 32 CHƢƠNG III: XÂY DỰNG PHẦN MỀM GIA PHẢ 45 1. Phân tích chức năng: 45 1.1. Các chức năng chính của hệ thống 45 1.2. Phân rã chức năng “Quản lý thông tin” 46 1.3. Phân rã chức năng “Tìm kiếm” 47 1.4. Phân rã chức năng “Thống kê” 48 1.5. Phân rã chức năng “dự đoán” 48 2. Phân tích dữ liệu: 49 2.1. Biểu đồ dòng dữ liệu mức ngữ cảnh của hệ thống 49 2.2. Biểu đồ dòng dữ liệu mức đỉnh của hệ thống 49 1
- 2.3. Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Quản lý thông tin” 50 2.4.Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Tìm kiếm” 50 2.5. Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Thống kê” 51 2.6. Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Dự đoán” 51 3. Thiết kế hệ thống 52 3.1. Thiết kế chức năng 52 3.2. Thiết kế cơ sở dữ liệu 53 3.3. Thiết kế giao diện 57 KẾT LUẬN VÀ KIẾN NGHỊ 64 TÀI LIỆU THAM KHẢO 65 2
- LỜI CẢM ƠN Sau thời gian nghiên cứu khẩn trƣơng, nghiêm túc em đã hoàn thành xong đồ án tốt nghiệp. Em xin chân thành cảm ơn thầy giáo Th.s Trần Ngọc Thái đã không quản ngại chỉ bảo, hƣớng dẫn em trong suốt quá trình thực hiện đề tài. Em xin chân thành cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin trƣờng Đại học Dân lập Hải Phòng đã tạo điều kiện giúp đỡ để em thực hiện đề tài này. Con xin chân thành cảm ơn gia đình, họ hàng đã giúp đỡ động viên tạo điều kiện tốt nhất cho con trong quá trình khảo sát và thực hiện đề tài. Xin chân thành cảm ơn toàn thể các bạn lớp CT1001 cũng nhƣ các bạn không cùng lớp đã cung cấp tài liệu và chia sẻ kinh nghiệm trong quá trình mình thực hiện. Mặc dù đã cố gắng hoàn thành đề tài nhƣng không tránh khỏi những thiếu sót nhất định. Em rất mong nhận đƣợc sự cảm thông và góp ý của thầy cô và các bạn để đề tài này ngày càng hoàn thiện hơn. Em xin chân thành cảm ơn! Hải Phòng, Ngày 05 tháng 07 năm 2010 SINH VIÊN THỰC HIỆN Nguyễn Thi Thu Huyền 3
- DANH MỤC CÁC BẢNG Tên bảng Trang Bảng 3.1:Bảng tblQuan Tri 53 Bảng 3.2: Bảng tblDongHo 54 Bảng 3.3: Bảng tblThanhVien 55 Bảng 3.4: Bảng tblGiaDinh 55 Bảng 3.5: Bảng tblTendoi 55 Bảng 3.6: Bảng tblGiaSu 56 Bảng 3.7: Bảng mô hình quan hệ dữ liệu 56 4
- DANH MỤC CÁC HÌNH VẼ, BIỂU ĐỒ Tên hình Trang Hình 1.1: Hệ thống nhiều đầu vào, một đầu ra 9 Hình 1. 2: Bảng chân lý của các phép toán 11 Hình 1.3: Phƣơng trình quan hệ mờ 18 Hình 1.4: Sơ đồ các bƣớc tính Y=B0 21 Hình 1.5: Thống kê về tổng số ngƣời của dòng họ Nguyễn Hữu 31 Hình 1.6: Biểu đồ thống kê số ngƣời theo các đời của dòng họ Nguyễn Hữu 31 Hình 1.7: Thống kê về trình độ học vấn của dòng họ Nguyễn Hữu 32 Hình 1.8: Bảng hệ số 33 Hình 1.9: Biểu đồ dự đoán trình độ học vấn của dòng họ Nguyễn Hữu 38 Hình 1.10: Thống kê về năng lực làm việc của dòng họ Nguyễn Hữu 39 Hình 1.11: Bảng hệ số 39 Hình 3.1: Biểu đồ phân cấp chức năng của hệ thống Quản lý gia phả 46 Hình 3.2: Biểu đồ phân rã chức năng “Quản lý thông tin” 46 Hình 3.3: Biểu đồ phân rã chức năng “Tìm kiếm” 47 Hình 3.4:Biểu đồ phân rã chức năng “Thống kê” 48 Hình 3.5:Biểu đồ phân rã chức năng “Dự đoán” 48 Hình 3.6: Biểu đồ dòng dữ liệu mức ngữ cảnh của hệ thống 49 Hình 3.7: Biểu đồ dòng dữ liệu mức đỉnh của hệ thống 49 Hình 3.8: Biểu đồ dòng dữ liệu mức dƣới đỉnh chức năng “Quản lý thông tin” . 50 Hình 3.9:Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Tìm kiếm” 50 Hình 3.10: Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Thống kê” 51 Hình 3.11: Biểu đồ dòng dữ liệu mức dƣới đỉnh của chức năng “Dự đoán” 51 Hình 3.12: Thiết kế các chức năng chính của hệ thống 53 Hình 3.13: Giao diện chính 57 Hình 3.14: Giao diện hiển thị cây gia phả 57 Hình 3.15: Giao diện form đăng nhập 58 Hình 3.16: Giao diện Hiển thị chi tiết 58 Hình 3.17: Giao diện thêm mới gia đình 59 Hình 3.18: Giao diện thêm mới dòng họ 59 Hình 3.19: Giao diện tìm kiếm chi tiết 60 Hình 3.20: Giao diện tìm kiếm theo gia đình 60 Hình 3.21: Giao diện tìm kiếm theo tuổi 61 Hình 3.22: Giao diện thống kê số thành viên 61 Hình 3.23: Giao diện thố ng kê gia đình 62 Hình 3.24: Giao diện thống kê theo đời 62 Hình 3.25: Giao diện dự đoán số ngƣời 63 Hình 3.26: Giao diện dự đoán năng lực 63 Hình 3.27: Giao diện dự đoán học vấn 63 5
- LỜI MỞ ĐẦU “Con ngƣời ta khi mới sinh ra việc đầu tiên là phải làm giấy khai sinh. Họ trƣớc tên sau rồi mới đến tên bố mẹ và quê hƣơng bản quán. Họ chính là chữ duy nhất, đầu tiên đặt dấu ấn cho cuộc đời mỗi con ngƣời. Tự cổ chí kim có ngƣời nào dù là vĩ nhân đi chăng nữa mà chỉ mang một cái tên cộc lốc bao giờ đâu, từ đó suy ra Họ chính là ngọn nguồn gốc rễ của đời ta, là nghĩa nặng ơn sâu, trân trọng và thiêng liêng biết mấy”- Trích phả ký của dòng họ Nguyễn Hữu. Ngƣời xƣa quan niệm: trong một nhà một họ mà gốc rễ không tƣờng tận, thì trong con cháu thƣờng xảy ra những chuyện có hại cho gia đạo. Gia phả không chỉ quan tâm đến nguồn gốc, giỗ Tết, mà nó còn chứa đựng nhiều nghĩa lý sâu xa, khuyên răn việc thiện, việc nghĩa ở đời, nhờ vậy mà trong họ giữ đƣợc tình hoà hiếu lâu dài. Gia đình là nơi thƣờng ngày những ngƣời cùng chung máu mủ quây quần sum họp. Nhƣng trong phạm vi gia đình, sợi dây thân ái đó chỉ có thể duy trì trong một giới hạn nhất định rồi tự nó sẽ phai nhạt dần khi những ngƣời trong gia đình ấy bắt đầu tách ra thành nhiều nhánh. Số ngƣời trong gia đình càng đông thì con cháu không thể nào biết hết đƣợc dòng họ xa gần từ các đời trƣớc. Do đó, chỉ có cách chép gia phả mới giúp con cháu nhớ hết tất cả những ngƣời đã sinh ra trƣớc họ và đã chết trƣớc họ bao nhiêu đời. Bởi vậy, gia phả là sợi dây liên lạc vô hình nhƣng hữu hiệu nhất để kết nối tất cả con cháu của một dòng họ lại với nhau. Mối tƣơng quan này không những chỉ quan hệ đến con cháu ở hiện tại, mà còn quan hệ cả đến tƣơng lai nữa. Đi xa hơn, việc chép gia phả còn ảnh hƣởng tới cả quốc gia, góp phần làm phong phú lịch sử nƣớc nhà, bởi lịch sử quốc gia chính là lịch sử của nhiều gia đình, dòng họ đúc kết lại. Chính những nhân vật có tên tuổi lƣu danh trong sử sách là nhờ vào gia phả của gia đình, họ đƣợc lƣu truyền tới các thế hệ mai sau. Việc quản lý gia phả hiện nay tại hầu hết tất cả các dòng họ đƣợc thực hiện một cách thủ công, dùng nhiều giấy tờ dẫn tới nhiều sai sót, thiếu chi tiết. Khó quản lý khi dòng họ có nhiều ngƣời, việc tìm kiếm mất thời gian, việc bảo quản gia phả khó khăn 6
- Từ thực tế đó, đề tài : “Xây dựng phần mềm gia phả” đã phần nào giải quyết đƣợc những vấn đề tồn tại trên. Phần nghiên cứu sẽ thực hiện những nhiệm vụ sau: Nghiên cứu những kiến thức cơ bản của hệ mờ Xây dựng phần mềm quản lý gia phả Xây dựng mối quan hệ giữa các phép toán trong hệ mờ và một số phép dự báo về Năng lực, Trình độ học vấn. 7
- CHƢƠNG I: TỔNG QUAN VỀ HỆ MỜ 1. Tập mờ, logic mờ và hệ mờ 1.1. Tập mờ Xét ví dụ sau: a. A là tập những ngƣời có tuổi dƣới 19 (điều kiện để tham gia đội bóng U19) là một tập hợp kinh điển. Mỗi ngƣời (phần tử) chỉ có hai khả năng rõ ràng: Hoặc là phần tử của A (tức là 19 tuổi) hoặc là không (không đƣợc 19 tuổi). b. Xét tập hợp A’ gồm những ngƣời là trẻ. Trong trƣờng hợp này sẽ không có ranh giới rõ ràng để khẳng định một ngƣời có là phần tử của A’ hay không và rõ ràng ranh giới ở đây là mờ. Ta chỉ có thể gọi một ngƣời sẽ thuộc tập hợp A’ ở mức độ nào đó. Chẳng hạn chúng ta đồng ý với nhau rằng một ngƣời 35 tuổi thuộc về tập hợp A’ với độ thuộc là 60% hay 0,6. Chúng ta gọi A’ là tập mờ. Nội dung nghiên cứu: - Trình bày hệ mờ dƣới dạng vào – ra của hệ thống (Input- Output System) của khoa học hệ thống. - Xét trƣờng hợp đầu vào X là biến mờ và hàm chuyển trạng thái R là mờ. Do vậy đầu ra Y cũng sẽ là biến mờ. 1.2. Định nghĩa Ví dụ: Cho X là không gian nền. Chẳng hạn: X = Tập sinh viên Đại học Dân lập Hải Phòng A1= Tập sinh viên khoa công nghệ thông tin đại học khoá 10 Khi đó A1 là tập rõ của X, gọi A2= Tập sinh viên giỏi Tin, khoá 1 khoa điện công nghiệp A2 là tập mờ trên X Định nghĩa 1.1: A là tập mờ trên không gian X nếu A đƣợc xác định bởi hàm µA: X → [0,1] Trong đó : µA : là hàm thuộc (membership function) µA(x): Độ thuộc của x vào tập mờ A Hay cũng có thể gọi : µA : hàm liên thuộc µA(x): Độ liên thuộc 8
- Kí hiệu: A= {(µA(x)/x): x X} 1.3. Các phép toán đại số trên tập mờ Định nghĩa 1. 2: Cho A, B là hai tập mờ trên không gian nền X, hàm thuộc µA, µB . Khi đó phép hợp A B, phép giao A B là hai tập mờ trên X với các hàm thuộc (2.1) µA B(x)= max(µ A(x), µ B(x)) , µA B (x)= min(µ A(x), µB(x)) c c Phép lấy bù A là tập mờ với hàm thuộc µA (x)=1- µA(x) 1.4. Số mờ Định nghĩa 1.3: Tập mờ trên đƣờng thẳng số thực R1 là một số mờ nếu: a. M chuẩn hoá, tức là tồn tại x’ sao cho µA(x’)=1 1 1 b. Ứng với mỗi α R , tập mức {x: µM(x) ≥ α } là đoạn đóng trên R Ngƣời ta thƣờng dùng số mờ dạng tam giác, hình thang và dạng hàm Gauss. 1.5. Nguyên lí suy rộng của Zadeh Để làm việc với nhiều biến, nguyên lí suy rộng sau của Zadeh là rất quan trọng Định nghĩa 1.4: Cho Ai là tập mờ với hàm thuộc µAi trên không gian nền Xi (i=1,2,3, n) Khi ấy tích trực tiếp A=A1*A2*A3 *An Là tập mờ trên không gian nền X=X1*X2*X3 *Xn Với hàm thuộc µA(x)=min{µA1(x), µA2(x), µA3(x), ,µAn(x)} trong đó x={x1,x2,x3, .xn} Ví dụ: Xét hệ thống nhiều đầu vào và một đầu ra x1 là A1 Y là B ƒ xn là A n Hình 1.1: Hệ thống nhiều đầu vào, một đầu ra 9
- 1.5.1. Nguyên lí suy rộng Giả xử mỗi biến đầu vào xi lấy giá trị là Ai (i=1,2,3 ,n). Trong đó Ai là tập mờ trên không gian nền Xi với hàm thuộc µAi(x). Hàm f: X → Y chuyển các giá trị đầu vào Ai thành giá trị đầu ra B. Khi đó B sẽ là tập mờ trên Y với hàm thuộc µB(x) tính theo công thức: -1 -1 µB(x)= max {min(µA1(x1), µA2(x2), µA3(x3) ,µAn(xn): x f (Y)} nếu f (Y)≠ 0 nếu f-1(Y)= Ở đây f-1(Y) = {x=(x1,x2, .,xn) X: f(x)=y} 1.5.2. Suy rộng phép cộng hai số mờ: Áp dụng nguyên lí suy rộng ta có thể có ngay định nghĩa suy rộng phép cộng hai số mờ bằng cách sử dụng hàm hai biến: z=f(x,y)=x+y Định nghĩa 1.5: Cho M,N là hai số mờ có hàm thuộc µM(x), µN(y). khi đó cộng suy rộng M N là tập mờ trên R1 có hàm thuộc xác định với mỗi số thực z cho bởi : µ M N (z)=max {min (µM (x), µN (y). )} (2.2) Định lý 1.1: Nếu M, N là hai số mờ hình thang thì M N cũng là số mờ hình thang 2. Logic mờ 2.1. Ôn nhanh về logic mệnh đề cổ điển Ta kí hiệu ß là tập hợp các mệnh đề và P, P1, Q, Q1 là những mệnh đề. Với mỗi mệnh đề P ß, ta gán một giá trị v(P) gọi là giá trị chân lý (truth value) của mệnh đề. Logic cổ điển quy định v(P)=1 nếu P là đúng(T- true), v(P)=0 nếu P là sai(F-false). Trên ß trƣớc tiên ta xác định 3 phép toán cơ bản và rất trực quan: Phép tuyển P OR Q, kí hiệu P Q, đó là mệnh đề “hoặc P hoặc Q” Phép hội P AND Q, kí hiệu P Q, đó là mệnh đề “vừa P vừa Q” Phép phủ định NOT P, kí hiệu ┐P, đó là mệnh đề “ không P” 10
- Dựa vào 3 phép toán cơ bản này ngƣời ta đã định nghĩa nhiều phép toán khác, nhƣng trong đối tƣợng nghiên cứu của chúng ta quan trọng nhất là phép kéo theo, kí hiệu P→ Q. Sau đây chúng ta sẽ xét bảng chân lý cuả các phép toán tuyển, hội, phủ định, kéo theo và phép tƣơng đƣơng ( ↔). P Q → ↔ 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 1 Hình 1. 2: Bảng chân lý của các phép toán Trong logic cổ điển, một số suy luận quan trọng hay đƣợc sử dụng là: Modus ponens: (P (P → Q))→ Q Modus tollens: ((P →Q) ┐Q) →┐P Syllogism: ((P → Q) (Q→ R)) → (P→ R) Contrapostion: ((P→ Q)→ (┐P→┐Q) 2.2. Các phép toán cơ bản trong logic mờ 2.2.1 Phép phủ định (negation) Phủ định là một trong những phép toán logic cơ bản. Để suy rộng chúng ta cần tới toán tử v(NOT P) xác định giá trị chân lý của NOT P đối với mỗi mệnh đề NOT P. Xét một số mệnh đề trong logic cổ điển: v(NOT P) chỉ phụ thuộc vào v(P) Nếu v(P)=1 thì v(NOT P)=0 Nếu v(P)=0 thì v(NOT P)=1 Nếu v(P1) ≤ v(P2), thì v(NOT P1) ≥ v(NOT P2) Dạng toán học của những mệnh đề trên là nhƣ sau: Định nghĩa 2.1: Hàm n:[0,1]→[0,1] không tăng thoả mãn các điều kiện n(0)=1, n(1)=0 gọi là hàm phủ định (negation- hay là phép phủ định). Chúng ta xét thêm một số tiên đề sau: a. Nếu v(P1) v(NOT P2) 11
- b. v(NOT P) phụ thuộc liên tục vào v(P) c. v(NOT(NOT P))=v(P). Ví dụ: - Hàm phủ định chuẩn n(x)=1-x - Hàm phủ định n(x)=1-x2 2.2.2. Phép hội (Confunction) Phép hội là một trong mấy phép toán logic cơ bản nhất. Nó là cơ sở để định nghĩa phép giao của hai tập mờ. Xét các tiên đề trong logic cổ điển sau: v(P1 AND P2) chỉ phụ thuộc vào P1 và P2 Nếu v(P1)=1, thì v(P1 AND P2) = v(P2), với mọi mệnh đề P2 Giao hoán: v(P1 AND P2) = v(P2 AND P1) Nếu v(P1) ≤ v(P2) thì v(P1 AND P3) ≤ v(P2 AND P3), với mọi mệnh đề P3 Kết hợp v(P1 AND (P2 AND P3))=v(P1 AND P2 )AND P3) Diễn đạt phép hội mờ thì ta cần tới một số hàm sau: Định nghĩa 2.2: Hàm T:[0,1]2 →[0,1] gọi là phép hội (AND suy rộng) hay là một t-chuẩn (t-norm) khi và chỉ khi thoả mãn các điều kiện sau: a. T(1,x)=x, với mọi 0 ≤ x ≤ 1, b. T có tính giao hoán, tức là T(x,y)=T(y,x), với mọi 0 ≤ x,y ≤ 1, c. T không giảm theo nghĩa T(x,y) ≤ T(u,v), với mọi x ≤ u,y ≤ v, d. T có tính chất kết hợp: T(x,T(y,z))=T(T(x,y), z) với mọi 0 ≤ x, y, z ≤ 1. Ví dụ: - Min(Zadeh 1965): T(x,y)=min(x,y) - Dạng tích: T(x,y)=x*y - T- chuẩn Lukasiewicz: T(x,y)=max{x+y-1, 0} 2.2.3. Định nghĩa tổng quát phép giao của hai tập mờ Cho A, B là hai tập mờ trên không gian nền R với hàm thuộc A(a), B(a). T là t- chuẩn Định nghĩa: Ứng với mỗi t-chuẩn, tập giao cuả hai tập mờ A, B là một tập mờ (A TB) trên R với hàm thuộc cho bởi: (A TB)(a)=T(A(a),B(a)) với a R 12
- Việc lựa chọn phép giao nào, tức là chọn t-chuẩn T nào để làm việc và tính toán hoàn toàn phụ thuộc vào từng bài toán. 2.2.4. Phép tuyển Phép tuyển thông thƣờng cần phải thoả mãn các tiên đề sau: v(P1 OR P2) chỉ phụ thuộc vào v(P1), v(P2) Nếu v(P1) = 0, thì v(P1 OR P2) = v(P2), với mọi mệnh đề P2 Giao hoán: v(P1 OR P2)= v(P2 OR P1) Nếu v(P1) ≤ v(P2) thì v(P1 OR P3) ≤ v(P2 OR P3), với mọi mệnh đề P3 Kết hợp v(P1 OR (P2 OR P3))=v(P1 OR P2 )OR P3) Khi đó định nghĩa phép tuyển bằng con đƣờng tiền đề nhƣ sau: Định nghĩa 2.3: Hàm S:[0,1]2 →[0,1] gọi là phép tuyển (OR suy rộng) hay là một t- đối chuẩn (t-conorm) nếu thoả mãn các điều kiện sau: a. S(0,x)=x, với mọi 0 ≤ x ≤ 1, b. S có tính giao hoán, tức là S(x,y)=S(y,x), với mọi 0 ≤ x,y ≤ 1, c. S không giảm theo nghĩa S(x,y) ≤ S(u,v), với mọi 0 ≤ x ≤ u ≤ 1, 0 ≤ y ≤ v ≤ 1, d. S có tính chất kết hợp: S(x,S(y,z))=S(S(x,y), z) với mọi 0 ≤ x, y, z ≤ 1. Định lí 2.1: Cho n là phép phủ định mạnh, T là một t- chuẩn, khi ấy hàm S xác định trên [0,1]2 bằng biểu thức: S(x,y)=nT(nx,ny) với mọi 0 ≤ x,y ≤ 1 là một t- đối chuẩn. Định lí 2.2: Cho S là t- đối chuẩn. Khi ấy: a. S gọi là liên tục nếu đó là hàm liên tục trên miền xác định b. S là Archimed nếu S(x,x)> x, với mỗi 0< x < 1 c. S gọi là chặt nếu S là hàm tăng tại mỗi điểm (x,y) (0,1)2 Ví dụ: - S(x,y)=max(x,y) - S(x,y)=x + y – xy - S(x,y)= min{x+y, 1} 2.2.5. Định nghĩa tổng quát phép hợp của hai tập mờ Cho A, B là hai tập mờ trên không gian nền R với hàm thuộc A(a), B(a). S là t- đối chuẩn 13
- Định nghĩa: Ứng với mỗi t-chuẩn, tập giao của hai tập mờ A, B là một tập mờ (A TB) trên R với hàm thuộc cho bởi: (A TB)(a)=S(A(a),B(a)) với a R Việc lựa chọn phép giao nào, tức là chọn t- đối chuẩn S nào để làm việc và tính toán hoàn toàn phụ thuộc vào từng bài toán. 2.2.6. Một cách định nghĩa phần bù của hai tập mờ Cho tập mờ A trên không gian nền R tƣơng ứng với một hàm thực nhận giá trị A:R→[0,1] trong đoạn [0,1] Kí hiệu: A={(a, A(a)): a R} ở đây A(a)= A(a) [0,1] là độ thuộc của phần tử x vào tập mờ A . Định nghĩa: Cho n là hàm phủ định, phần bù AC của tập mờ A là một tập mờ với hàm thuộc xác định bởi AC(a)=n(A(a)), với mỗi a R 2.2.7. Phép kéo theo (Implications) Chúng ta sẽ xét phép kéo theo nhƣ một mối quan hệ, một toán tử logic. Thông thƣờng chúng ta nhớ tới các tiên đề sau cho hàm v(P1 → Q2) Định nghĩa 2.4: Phép kéo theo là một hàm số I:[0,1]2→[0,1] thoả mãn các điều kiện sau: a. Nếu x ≤ z thì I(x,y) ≥ I(z,y) với mọi y [0,1] b. Nếu y ≤ u thì I(x,y) ≤ I(x,u) với mọi x [0,1] c. I(0,x)=1 với mọi x [0,1], d. I(1,x)=1 với mọi x [0,1], e. I(1, 0)=0. Để tính toán, ta cần những dạng cụ thể của phép kéo theo. Dƣới đây là một số dạng hàm kéo theo, xây dựng dựa vào các phép toán logic mờ đã suy rộng phía trên. Cho T là t- chuẩn, S là t- đối chuẩn, n là phép phủ định mạnh 2 Định nghĩa 2.5: Dạng kéo theo thứ nhất. Hàm IS1(x,y) xác định trên [0,1] bằng biểu thức: IS1(x,y) =S(n(x), y) (2.3) 14
- Rõ ràng ẩn ý sau định nghĩa này là công thức từ logic cổ điển P Q=NOT P Q Định lí 2.3: Với bất kì t- chuẩn T, t- đối chuẩn S và phép phủ định mạnh n nào đó, IS1 là một phép kéo theo thoả mãn định nghĩa 2.5. Bắt nguồn từ biểu diễn phép P Q theo lí thuyết tập hợp. Khi đó nếu P, Q biểu diễn dƣới dạng tập hợp trong cùng không gian nền, thì: P Q= ┐P (P Q) Mà sử dụng t- chuẩn T, t- đối chuẩn S và phép phủ định mạnh n thì có thể nghĩ ngay tới dạng: IS(x,y)=S(T(x,y),n(x)) (2.4) 2 Định nghĩa 2.6: Cho T là t- chuẩn, hàm IT(x,y) xác định trên [0,1] bằng biểu thức: I T(x,y) =sup{u:T(x,u) ≤ y} (2.5) Định nghĩa 2.7: Cho (T, S, n ) là bộ ba De Morgan với n là phép phủ định 2 mạnh, phép kéo theo thứ ba IS1(x, y) xác định trên [0,1] bằng biểu thức : IS(x,y)=S(T(x,y),n(x)) (2.6) Ví dụ: * Về dạng hàm của phép kéo theo IS(x,y) phụ thuộc vào chọn bộ ba De Morgan nào. a. Chọn n(x)=1-x, T(x,y) =min(x,y) thì IS(x,y)=max{min(x,y), 1-x} b. Chọn n(x)=1-x, T(x,y) =max(0, x+y-1) thì IS(x,y)=max{1-x, y} * Ví dụ về dạng phép kéo theo thứ hai chúng ta nhận đƣợc hàm IT(x, y) phụ thuộc vào việc dùng t-chuẩn nào. Chẳng hạn xét ví dụ sau: T(x,y) =min(x,y), thì IT(x,y)=1, nếu x ≤ y, còn IT(x, y)=y trong trƣờng hợp còn lại 15
- (1.7) 2.2.8. Luật De Morgan Cho A, B là hai tập con của X, khi đó: (A B)C =AC BC Và (A B)C =AC BC Dạng suy rộng cho logic mờ Định nghĩa 2.8: Cho T là t- chuẩn, S là t- đối chuẩn, n là phép phủ định mạnh. Chúng ta nói bộ ba (T, S, n) là bộ ba De Morgan nếu : n(S(x,y))=T(nx, ny) 3. Quan hệ mờ 3.1. Khái niệm quan hệ mờ Định nghĩa 3.1: Cho X, Y là hai không gian nền, R gọi là một quan hệ mờ trên X×Y , nếu R là một tập mờ trên X ×Y tức là R có một hàm thuộc µR: X ×Y→[0,1], ở đây µR(x,y) =R(x,y) là độ thuộc của x,y vào quan hệ R Định nghĩa 3.2: Cho R1, R2 là hai quan hệ mờ trên X ×Y, ta có định nghĩa a. Quan hệ R1 R2 với µR1 R2(x)= max(µR1(x,y), µR2(x,y)) b. Quan hệ R1 R2 với µR1 R2(x)= min(µR1(x,y), µR2(x,y)), với mọi (x, y) X×Y Định nghĩa 3.3: Quan hệ mờ trên những tập mờ. Cho tập mờ A với µA(x) trên X, tập mờ B với µB(x) trên Y. Quan hệ mờ trên các tập mờ A và B là quan hệ mờ trên X × Y thoả mãn điều kiện: µR(x,y) ≤ µA(x), mọi y Y µR(x,y) ≤ µB(x), mọi x X 3.2. Phép hợp thành Định nghĩa 3.4: Cho R1 là quan hệ mờ trên X × Y và R2 là quan hệ mờ trên Y × Z. Hợp thành R1◦R2 của R1, R2 là quan hệ mờ trên X × Z. a. Hợp thành Max-min đƣợc xác định bởi: µR1◦ R2(x,z)=maxY {min(µR1(x,y), µR2(y,z))}, mọi x,z X × Z (2.7) b. Hợp thành Max-pro đƣợc xác định bởi: µR1◦ R2(x,z)=maxY {min(µR1(x,y)◦ µR2(y,z))}, mọi x,z X × Z (2.8) 16
- c. Hợp thành Max-* đƣợc xác định bởi toán tử *: [0,1]2 →[0,1] µR1◦ R2(x,z)=maxY {min(µR1(x,y)*µR2(y,z))}, mọi x,z X × Z (2.9) Định nghĩa 3.5: Cho R1, R2 là quan hệ mờ trên X × Y, phép T-tích hợp thành cho một quan hệ R1◦TR2 trên X × X xác định bởi R1◦TR2(x,z)=supY XT(R1(x,y),R2(y,z)) Định lí 3.1: Cho R1, R2 , R3 là quan hệ mờ trên X × X, khi đó a. R1◦T(R2 ◦T R3)=(R1◦T(R2 )◦T R3 b. Nếu R1 R2 thì R1◦TR3 R2 ◦T R3 và R3 ◦T R1 R3 ◦T R2 3.3. Tính chuyển tiếp: Định nghĩa 3.6: Quan hệ mờ R trên X × X gọi là a. Min- chuyển tiếp nếu min {R(x,y), R(y,z)} ≤ R(x,z) với mọi x,y,z X b. Chuyển tiếp yếu nếu với mọi x, y, z X có R(x,y) > R(y,z) và R(y,z) >R(z,y) thì R(x,y)> R(z,y) c. Chuyển tiếp tham số nếu có một số 0 Ø > R(y,x) và R(y,z) > Ø >R(z,y) thì R(x,z)>Ø >R(z,x) với mọi x, y, z X Định lí 3.2: a. Nếu R là quan hệ mờ có tính chất min- chuyển tiếp thì R là quan hệ mờ có tính chất chuyển tiếp tham số với mọi 0<Ø<1 b. Nếu R là quan hệ mờ có tính chất chuyển tiếp tham số thì R là quan hệ mờ có tính chất chuyển tiếp yếu. 3.4. Phương trình quan hệ mờ. Phƣơng trình quan hệ mờ lần đầu tiên đƣợc nghiên cứu bởi GS. Sanchez năm 1976, đóng vai trò quan trọng trong các lĩnh vực phân tích các hệ mờ, thiết kế các bộ điều khiển mờ, quá trình lấy quyết định và nhận dạng mờ. Dạng đơn giản nhất của phƣơng trình quan hệ có thể diễn đạt nhƣ sau: 17
- Cho một hệ mờ biểu diễn dƣới dạng một quan hệ mờ nhị nguyên R trên không gian tích X × Y. Đầu vào (Input) của hệ mờ là một tập mờ A cho trên không gian nền input X. Tác động của đầu vào A với hệ R sẽ là phép hợp thành A◦R sẽ cho ở đầu ra (Output) một tập mờ trên không gian nền Y, kí hiệu là B. Khi đó chúng ta có A◦R=B Y là B X là A ƒ Hình 1.3: Phương trình quan hệ mờ Nếu chúng ta sử dụng phép hợp thành max-min thì hàm thuộc của B cho bởi µB(y=µA◦ R(y)=maxx(miny [µA(x), µR(x,y)]) (2.10) Ví dụ: Cho Input là tập mờ A trên X và quan hệ mờ R trên X × Y nhƣ sau: X={x1, x2, x3}, Y={y1, y2, y3} A=(0.2/x1 0.8/x2 1/x3 ) = (0.2 0.8 1 ) 0.2 0.2 0.2 Biểu diễn A trên không gian nền X × Y ta có extA= 0.8 0.8 0.8 1 1 1 0.7 1 0.4 R= 0.5 0.9 0.6 0.2 0.6 0.3 Khi đó chúng ta có 0.2 0.2 0.2 0.7 1 0.4 0.2 0.2 0.2 B=ext ◦R= 0.8 0.8 0.8 ◦ 0.5 0.9 0.6 = 0.5 0.8 0.6 A 1 1 1 0.2 0.6 0.3 0.2 0.6 0.3 = (0.5 0.8 0.6)=0.5/y1+0.8/y2+0.6/y3 4. Hệ trợ giúp lấy quyết định mờ 4.1. Bài toán lấy quyết định và vấn đề lập luận Một đặc trƣng rất khác biệt của con ngƣời là khả năng lấy quyết định. Việc lấy quyết định là hoạt động diễn ra hàng ngày của mỗi ngƣời, của mỗi 18
- con ngƣời và nó là hoạt động đặc biệt quan trọng trong lĩnh vực tổ chức và quản lí nhƣ việc ra nghị quyết, chính sách chế độ, lập kế hoạch, ra chỉ thị Chúng ta cùng tìm hiểu những thành tố quan trọng trong quá trình lấy quyết định, bao gồm 3 thành tố: Cơ sở tri thức, cơ sở dữ liệu, phương pháp thủ tục lập luận. a. Cơ sở tri thức: Thành tố quan trọng đầu tiên của quá trình lấy quyết định là tri thức và đƣợc mô hình hoá thành cơ sở tri thức. Các yếu tố cơ bản của tri thức có thể phát biểu thành các mệnh đề hay các luật dƣới dạng “Nếu .thì” Ví dụ: Trong lĩnh vực đời sống có thể phát biểu tri thức bằng các mệnh đề “If Then” sau: “Nếu trong dòng họ đời cha, ông có trình độ học vấn cao thì các đời sau con, cháu cũng có khả năng đạt trình độ học vấn cao”. Các chuyên gia trong lĩnh vực nghiên cứu điều khiển mô tơ điện có thể phát biểu tri thức cuả mình bằng các mệnh đề If then sau, trong đó I là cƣờng độ dòng điện, N là tốc độ vòng quay của mô tơ. If I=very small then N=very large If I=very more small then N= large If I=small then N=medium If I=medium then N=small If I=large then N=very more small If I=very large then N=very more small v.v . b. Cơ sở dữ liệu: Có thể thấy tri thức là những khẳng định đã đƣợc tổng kết, khái quát hoá từ kinh nghiệm thực tiễn. Kinh nghiệm này đƣợc “bộ óc” lƣu trữ dƣới dạng dữ liệu. Vì vậy thành tố quan trọng khác trong quá trình lấy quyết định là tập hợp các dữ liệu đƣợc tổ chức thành cơ sở dữ liệu. CSDL là thành tố quan trọng vì hai lí do sau: - Nó lƣu trữ dữ liệu cần thiết cho quá trình lấy quyết định - Vì dữ liệu là kinh nghiệm thực tiễn nên kho dữ liệu này là cơ sở để điều chỉnh và phát hiện thêm các luật mới của tri thức. 19
- Ví dụ: Muốn xây dựng quan hệ giữa trình độ học vấn, bệnh tật di truyền, năng lực làm việc xã hội của thành viên trong dòng họ thì phải nghiên cứu nhiều dòng họ để tìm ra quy luật là cơ sở đƣa ra quyết định. c. Phƣơng pháp, thủ tục lập luận. Tƣ duy và lập luận của con ngƣời trong lĩnh vực thông tin không đầy đủ, không chính xác, không chắc chắn đòi hỏi chúng ta phải có phƣơng pháp lập luận xấp xỉ dựa vào những luật mờ trên thực tế. Ví dụ: Tuyển chọn cán bộ, chọn phương án phát triển . 4.2. Suy luận xấp xỉ và suy diễn mờ 4.2.1. Suy luận xấp xỉ (suy luận mờ) Là quá trình suy ra những kết luận dƣới dạng các mệnh đề mờ trong điều khiển các quy tắc, các luật, các dữ liệu đầu vào cho trƣớc cũng không hoàn toàn xác định . Ví dụ: Những mệnh đề đơn giản nhƣ: Modus ponens: (P (P → Q)) → Q Modus tollens: ((P → Q) ┐Q) → ┐P Ví dụ: Mệnh đề đời thƣờng vẫn dùng: “máy lạnh”, “ga yếu”, “tuổi thọ”, “học vấn” “Nếu trình độ học vấn cao thì năng lực làm việc tốt” (áp dụng trong bài toán gia phả). Xét quá trình lập luận trong giải tích dựa vào luật Modus ponens: Định lý Nếu một hàm số là khả vi thì nó liên tục Sự kiện Hàm f khả vi Kết luận f liên tục Bây giờ ta tìm cách diễn đạt cách suy luận quen thuộc trên dƣới dạng sao cho có thể suy rộng cho logic mờ. Kí hiệu: U=Không gian nền=Không gian tất cả các hàm số Có thể hiểu U={g: R→R} A={Các hàm khả vi} B={Các hàm liên tục} 20
- Hãy chọn hai mệnh đề: P= “g A ” và Q= “g B” Khi ấy ta có : Luật (tri thức) g→B Sự kiện P đúng (True) Kết luận Q đúng (True) Ở đây chúng ta sử dụng luật (P (P → Q)) → Q 4.2.2. Chúng ta xét lƣợc đồ lập luận mờ đa điều kiện tức là mô hình mờ có chứa nhiều mệnh đề điều kiện dạng nếu thì Tiền đề 1 If X=A1 then Y=B1 Tiền đề 2 If X=A2 then Y=B2 Tiền đề n If X=An then Y=Bn Tiền đề n+1 If X=An+1 then Y=Bn+1 Kết luận Y=B0 Tập hợp n mệnh đề đầu tiên trong M đƣợc gọi là mô hình mờ, trong đó Ai, Bi là các khái niệm mờ. Mô hình này mô tả mối quan hệ giữa đại lƣợng X và Y. Giá trị X=A0 đƣợc gọi là input còn Y=B0 gọi là output. Phƣơng pháp lập luận xấp xỉ tính Y=B0 gồm các bƣớc sau: Giải nghĩa các Kết nhập Tính output Khử mờ mệnh đề điều kiện B0 Hình 1.4: Sơ đồ các bước tính Y=B0 1) Bước 1: Giải nghĩa các mệnh đề điều kiện Chúng ta xem các khái niệm mờ Ai, Bi là nhãn của các tập mờ biểu thị ngữ nghĩa của Ai, Bi. Hàm thuộc đƣợc kí hiệu là Ai(u), Bi(u) trên các không gian tham chiếu U và V. Với mỗi mệnh đề If then trong mô hình mò có thể hiểu là một phép kéo theo trong một hệ logic nào đó và đƣợc viết Ai(u) Bi(u) . khi u và v biến thiên, biểu thức này xác định một quan hệ mờ Ri:U×V→[0,1]. Nhƣ vậy mỗi mệnh đề điều kiện trong M xác định một quan hệ mờ. 2) Bước 2: Kết nhập n Sử dụng công thức R=@ i=1Ri, trong đó @ là phép tính t-norm hay t-conorm n n nào đó. Chẳng hạn R= i=1Ri hay R= i=1Ri trong đó , là các phép tính 21
- min và max. Việc kết nhập nhƣ vậy đảm bảo R chứa thông tin đƣợc cho bởi các mệnh đề If then trong mô hình mờ. 3) Bước 3: Tính output B0 Theo công thức B0=A0 R, trong đó là phép hợp thành giữa hai quan hệ A0 và R 4) Bước 4: Khử mờ Kết quả tính toán ở bƣớc 3 là một tập mờ. Trong nhiều bài toán ứng dụng, đặc biệt trong ứng dụng kĩ thuật, ngƣời ta cần biết giá trị thực của biến Y. Phƣơng pháp tính giá trị thực tƣơng ứng với tập mờ B0 đƣợc gọi là phƣơng pháp khử mờ. 4.2.2.1. Biến ngôn ngữ Ví dụ 1: Mệnh đề: “Nam có tuổi trung niên”. Chọn: x=biến ngôn ngữ “tuổi” U= không gian nền = thời gian sống=[0,130 năm] A=Tập mờ “Trung niên” Gán A là một tập mờ trên U với hàm thuộc A(u):U→[0,1] Sự kiện: “Có thể tuổi của Nam là 40” không chắc chắn và diễn đạt nhƣ sau: Khả năng (Tuổi của Nam = 40)=Poss(x=40) = Độ thuộc của số 40 vào tập mờ A=A(40). Mệnh đề mờ: “Nam có tuổi trung niên ” đƣợc diễn đạt thành mệnh đề P={x=A} = {Biến x nhận giá trị mờ A trên không gian nền U} = {x is A} 4.2.2.2. Ví dụ 2 Suy luận mờ: “Nếu góc tay quay ga lớn thì xe đi nhanh” Có thể dùng biến ngôn ngữ x= “góc tay quay” U=Không gian nền=[0, 3600] P= “Góc lớn” = tập mờ trên không gian nền U với hàm thuộc A(u): U→[0,1] y= “Tốc độ xe” V= Không gian nền = [0,120 km/h] 22
- Q= “Xe đi nhanh”= một tập mờ trên không gian nền V với hàm thuộc B(v):V→[0,1] Khi ấy: P = “Góc tay quay lớn”={x=A} (x is A) Q= “Xe đi nhanh”= {y=B} Và luật mờ có dạng: P Q * Nhƣ vậy một luật mờ dạng “If P then Q” sẽ đƣợc biểu diễn thành một quan hệ mờ R của phép kéo theo P Q với hàm thuộc của R trên không gian nền U×V đƣợc cho bởi phép kéo theo mà bạn dự định sử dụng R (u,v)=R (u,v)=I(A(u), B(v)), (u,v) U×V (A,B) P Q (2.11) Bây giờ quy trình suy diễn mờ có thể xác định Luật mờ (tri thức) P Q, với quan hệ cho bởi I(A(u),B(v)) Sự kiện mờ P’={x=A’}, xác định bởi tập mờ A’ trên U Hệ quả Q’={y=B’} Sau khi đã chọn phép kéo theo I xác định quan hệ mờ R(A,B). B’ là một tập mờ trên V với hàm thuộc của B’ đƣợc tính bằng phép hợp thành B’=A’ R(A,B) cho bởi công thức: B’(v)=maxu U {min(A’(u),I(A(u), B(v))}, v V (2.12) 4.2.3. Tiếp tục cách biểu diễn và diễn đạt nhƣ vậy, ta xét dạng “If P then Q else Q1” Có thể chọn nhiều cách khác nhau để diễn đạt mệnh đề này, sau đấy tìm hàm thuộc của biểu thức tƣơng ứng. Chẳng hạn: “If P then Q else Q1”= (P Q) (┐P Q1) (2.13) Thông thƣờng Q và Q1 là những mệnh đề trong cùng một không gian nền V. với hàm thuộc tƣơng ứng B: V→[0,1] 23
- B1: V→[0,1] Nếu Q, Q1 không cùng không gian nền thì cũng sẽ xử lí tƣơng tự nhƣng với công thức phức tạp hơn. Kí hiệu R(P,Q,Q’)=R(A,B,B1) là quan hệ mờ trên U×V với hàm thuộc cho bởi biểu thức : R(u,v)=max{min(A(u), B(v)), min(1-A(u),B1(v))} với u, v U×V Tiếp tục quy trình này chúng ta có thể xét những quy tắc lấy quyết định phức tạp hơn. Chẳng hạn chúng ta xét một quy tắc trong hệ thống mờ có hai biến đầu vào và một biến đầu ra dạng : If A1 and B1 then C1 Else If A2 and B2 then C2 4.2.4. Một dạng suy rộng khác trong cơ sở tri thức của nhiều hệ mờ thực tiễn, ví dụ điển hình trong các hệ điều khiển mờ, có thể phát biểu dƣới dạng sau: Cho x1, x2, . xm là các biến vào của hệ thống, y là biến ra. Các tập Aij, BJ với i=1 .,m, j=1, n là các tập mờ trên các không gian nền tƣơng ứng của các biến vào và biến ra đang sử dụng của hệ thống, các RJ là các suy diễn mờ (các luật mờ) dạng “Nếu .thì” (dạng If Then). R1: Nếu x1 là A1.1 và và xm là Am.1 thì y là B1 R2: Nếu x1 là A1.2 và và xm là Am.2 thì y là B2 Rn: Nếu x1 là A1.n và và xm là Am.n thì y là Bn Bài toán : * * Cho Nếu x1 là e1 và .và xm là em Tính Giá trị y là u* * * Ở đây e1 , ,em là các giá trị đầu vào hay sự kiện. 4.3. Ví dụ bằng số: Để minh hoạ cho phần lí thuyết ở trên chúng ta cùng xét một ví dụ bằng mệnh đề sau: “Nếu nhiệt độ của hệ thống lạnh, thì áp suất của hệ thống yếu”. Đây là mệnh đề dạng P Q. Chọn không gian nền với các trạng thái cơ sở: U={Nhiệt độ của hệ thống}={Thấp, trung bình thấp, hơn trung bình, cao} ={u1, u2, u3, u4 } 24
- V={Áp suất của hệ thống}={Thấp, trung bình thấp, trung bình, hơn trung bình, cao} ={v1, v2, v3, v4, v5} Trong trƣờng hợp này, mỗi mệnh đề A1 trên U có hàm hoàn toàn xác định bởi vector {A1(u): u U} . A1 biểu diễn mệnh đề “Nhiệt độ lạnh”= {1 0.6 0 0} B1 biểu diễn mệnh đề “Áp suất thấp”= {1 0.8 0.1 0 0} Để tính độ thuộc của quan hệ mờ, thác triển A trên không gian nền U×V. Khi ấy hàm thuộc A1 sẽ đƣợc kí hiệu extU×VA1 có dạng: 1 1 1 1 1 0.6 0.6 0.6 0.6 0.6 extU×VA1 = 0 0 0 0 0 0 0 0 0 0 Do P Q đồng nhất với biểu thức ┐A1 (A1 B1), do đó để tính hàm thuộc xác định trên U×V của quan hệ này chỉ cần tính ma trận: extU×V ┐A1 (extU×VA1 extU×VB1) (2.14) Sau đây là các ma trận tƣơng ứng: 0 0 0 0 0 1 0.8 0.1 0 0 ext ┐A = 0.4 0.4 0.4 0.4 0.4 , ext B = 1 0.8 0.1 0 0 U×V 1 1 1 1 1 1 U×V 1 1 0.8 0.1 0 0 1 1 1 1 1 1 0.8 0.1 0 0 1 0.8 0.1 0 0 0.6 0.6 0.1 0 0 Khi đó extU×VA1 extU×VB1= 0 0 0 0 0 0 0 0 0 0 Tính quan hệ R(A1, B1) theo phép kéo theo IS(u,v), thu đƣợc kết quả nhƣ sau: 1 0.8 0.1 0 0 0.6 0.6 0.4 0.4 0.4 P =R(A , B )= 1 1 1 1 1 P Q 1 1 1 1 1 1 1 25
- Đây chính là quan hệ mờ biểu thị quan hệ P Q, thông qua các biến ngôn ngữ “Nhiệt độ, áp suất” và các tập mờ A1, B1 tƣơng ứng. Tiếp tục, chúng ta có thể tiến hành các suy diễn mờ. Chẳng hạn, sự kiện đầu vào quan sát đƣợc là P’= “Nhiệt độ của hệ thống hơi lạnh” P’ là hàm thuộc trên không gian nền U cho bởi vector A’={0,8 1 0,3 0} Chúng ta có quá trình suy diễn sau: Luật (tri thức) Nếu nhiệt độ của hệ thống lạnh, thì áp suất của hệ thống yếu : R(A1, B1) Sự kiện mờ(Đầu A’ vào) Kết luận B' B’ là một tập mờ trên V đƣợc tính bằng phép hợp thành B’=R(A1,B1) A’ Tính tƣơng tự nhƣ phần trên ta có: 0.8 0.8 0.8 0.8 0.8 1 0.8 0.1 0 0 1 1 1 1 1 0.6 0.6 0.4 0.4 0.4 0.3 0.3 0.3 0.3 0.3 1 1 1 1 1 extU×VA’= R(A1, B1)= 0 0 0 0 0 1 1 1 1 1 Áp dụng công thức:B’=R(A1,B1) A’=maxu U {min(A’(u),I(A1(u),B1(v))} 0.8 0.8 0.1 0 0 Từ đó suy ra: Min(A’(u),I(A1(u),B1(v))= 0.6 0.6 0.4 0.4 0.4 0.3 0.3 0.3 0.3 0.3 0 0 0 0 0 B’=(0.8 0.8 0.4 0.4 0.4 ) * Kết luận: Nhƣ vậy với mệnh đề “Nhiệt độ của hệ thống hơi lạnh” thì có kết luận là “Áp suất của hệ thống có thể cũng hơi lạnh” và áp suất chiếm 80% là áp suất lạnh 4.4. Bài toán minh hoạ cho mệnh đề “If P then Q else Q1” Giả sử mệnh đề Q1 cùng không gian nền với mệnh đề Q. 26
- Q1= “Áp suất của hệ thống trung bình ” Diễn đạt mệnh đề: “Nếu nhiệt độ của hệ thống lạnh thì áp suất thấp ngược lại áp suất của hệ thống trung bình ” B2 biểu diễn mệnh đề “Áp suất của hệ thống trung bình ”={0 0,6 1 0,6 0} Khi đó: 0 0.6 1 0.6 0 0 0 0 0 0 0 0.6 1 0.6 0 0 0.4 0.4 0.4 0 extU×VB2= , extU×V ┐A1 extU×VB2= 0 0.6 1 0.6 0 0 0.6 1 0.6 0 0 0.6 1 0.6 0 0 0.6 1 0.6 0 1 0.8 0.1 0 0 Mà ext A ext B = 0.6 0.6 0.1 0 0 U×V 1 U×V 1 0 0 0 0 0 0 0 0 0 0 Do đó kết quả thu đƣợc: 1 0.8 0.1 0 0 0.6 0.6 0.4 0.4 0 R(If P then Q else Q1)= 0 0.6 1 0.6 0 0 0.6 1 0.6 0 27
- CHƢƠNG II: CÁC VẤN ĐỀ TRONG BÀI TOÁN QUẢN LÝ GIA PHẢ 1. Khảo sát hiện trạng Qua tìm hiểu thực tế công việc quản lý gia phả tại một số dòng họ thì thấy rằng: tất cả các dòng họ đều quản lý gia phả trên giấy. Việc quản lý đó thực hiện nhƣ sau: - Trƣởng họ của các dòng họ thƣờng vẽ gia phả của dòng họ mình trên khổ giấy to: mỗi thành viên trong dòng họ đƣợc biểu diễn bằng một ô vuông ghi tên của ngƣời đó. Đời cha mẹ đƣợc vẽ ở trên, đời con cái vẽ ở dƣới và ô vuông biểu thị đời con đƣợc nối với ô vuông biểu thị đời cha bằng một đƣờng thẳng. Trên gia phả đó không thể biểu thị đƣợc giới tính của một ngƣời, không cho biết đƣợc ai là con dâu của dòng họ đó - Thông tin của các thành viên trong dòng họ (tên, tuổi, ngày tháng năm sinh, năm mất, quê quán ) đƣợc lƣu trữ trong một quyển sổ (gọi là quyển phả ký). Quyển sổ này đƣợc trƣởng họ giữ và đƣợc truyền từ đời này sang đời khác. Khi có sai sót thì phải sửa lại thông tin đó rất khó khăn (gạch, xóa để sửa thông tin, hoặc chép ra quyển mới). - Vì một lí do nào đó mà một thành viên trong dòng họ bị đuổi ra khỏi dòng họ. Thì gia phả sẽ đƣợc vẽ lại hoàn toàn (trƣờng hợp chỉ ít xảy ra). Điều này rất mất thời gian. - Khi muốn thống kê tuổi trong dòng họ (dòng họ có bao nhiêu ngƣời thọ hơn 40 tuổi, dòng họ có bao nhiêu ngƣời thọ hơn 50 tuổi, ai là ngƣời có tuổi nhiều nhất trong dòng họ, ai là ngƣời có tuổi ít nhất trong dòng họ ) thì trƣởng họ phải tính tuổi của từng ngƣời sau đó mới thống kê và phân loại. - Khi muốn tìm một ai đó trong dòng họ, thì phải giở gia phả và tìm lần lƣợt trong gia phả. Khi đã tìm thấy tên của ngƣời đó trên gia phả thì lại phải mở cuốn sổ ghi thông tin và tìm đến ngƣời đó để xem các thông tin tƣơng ứng. Điều này khó khi gia phả có nhiều ngƣời (dòng họ đó có từ 6 đời trở nên). - Thƣờng trong gia phả nhƣ vậy không có ảnh của thành viên trong dòng họ để lại, di huấn hay vật tích cũng rất khó lƣu trữ mà thƣờng là không lƣu trữ những cái đó. 28
- Nhận xét: Việc quản lý gia phả hiện nay tại hầu hết tất cả các dòng họ đƣợc thực hiện một cách thủ công, dùng nhiều giấy tờ dẫn tới nhiều sai sót. Khó quản lý khi dòng họ có nhiều ngƣời (khổ giấy không đủ lớn để chứa nhiều ngƣời ), việc tìm kiếm mất nhiều thời gian, việc thống kê về tuổi tác (nhƣ trên) rất khó khăn, việc bảo quản gia phả khó khăn theo thời gian (giấy hỏng, mối, mọt, gia phả bị rách ). 2. Bài toán quản lý gia phả Bài toán quản lý gia phả nói chung sẽ đƣợc giải quyết thông qua việc xử lý nhiều bài toán nhỏ: quản lý các dòng họ và các thành viên trong một dòng họ, biểu diễn gia phả của dòng họ trên cây gia phả, tìm kiếm các thông tin về các thành viên (tìm kiếm và thống kê tuổi tác ). Dự đoán sự phát triển của dòng họ. Quản lý dòng họ và các thành viên của một dòng họ: đây là công việc quan trọng nhất của phần mềm quản lý gia phả. Thông tin về các thành viên trong dòng họ phải đầy đủ bao gồm: họ và tên, quê quán, năm sinh, năm mất, cha, mẹ, tiểu sử, bút tích, ảnh của ngƣời đó (nếu có) Thông tin về dòng họ, tộc ƣớc, gia sử. Cụ thể nhƣ sau: - Tên: Tên huý, tên tự, biệt hiệu, thuỵ hiệu và tên gọi thông thƣờng theo tập quán địa phƣơng (mỗi địa phƣơng có một tập quán riêng)? Thuộc đời thứ mấy? - Là con trai thì là con của ông nào? bà nào? - Ngày tháng năm sinh - Ngày tháng năm mất ? Thọ bao nhiêu tuổi? - Mộ táng ở đâu? - Học hành thi cử , đậu đạt chức vụ, địa vị lúc sinh thời và truy phong sau khi mất: Thi đậu học vị gì? Khoa nào? Triều vua nào? Nhận chức gì ? Năm nào? Đƣợc ban khen và hƣởng tƣớc lộc gì? Sau khi mất đƣợc truy phong chức gì? Tƣớc gì? - Với vợ thì là vợ thứ (thứ mấy) hay vợ chính phải nắm đƣợc họ tên, quê ở đâu? Phải có thông tin về ngày tháng năm sinh, năm mất, tuổi thọ, nơi an táng, có chức tƣớc ban thƣởng gì không? 29
- - Nếu là con ghi theo thứ tự năm sinh, nếu nhiều vợ thì ghi rõ con bà nào? Nếu là con gái thì ghi rõ con thứ mấy? Con ông bà nào ? quê quán, đỗ đạt, chức tƣớc - Những công trạng đối với làng xã, họ hàng, xóm giềng, những lời dạy bảo con cháu đời sau(di huấn) những lời di chúc, Biểu diễn gia phả trên cây gia phả: Việc hiển thị trên cây gia phả theo nhiều cách. Chức năng này thay cho việc biểu diễn gia phả trên giấy. Và trong hệ thống quản lý gia phả phải nêu nguồn gốc xuất sứ của gia tộc. Tiếp theo là nêu đƣợc Thuỷ Tổ của dòng họ. Sau đó là từng phả hệ phát sinh từ Thuỷ Tổ cho đến các đời con cháu sau này. Thƣờng là phần phả đồ là cách vẽ nhƣ một cây, từng gia đình là từng nhánh, từ gốc đến ngọn cho dễ theo dõi từng đời. Tìm kiếm các thông tin: Phần mềm quản lý gia phả có điểm chung với các phần mềm quản lý nhân sự là quản lý về ngƣời. Chính vì điều đó bài toán quản lý gia phả phải giải quyết đƣợc việc tìm kiếm các thành viên trong dòng họ (tìm kiếm theo tên, tuổi, quê quán ), ví dụ tìm kiếm xem trong dòng họ có bao nhiêu ngƣời thọ hơn 40 tuổi, hoặc có bao nhiêu ngƣời có độ tuổi trên 50 . Báo cáo thống kê: Thƣờng trong việc quản lý gia phả ngƣời trƣởng tộc có nhiệm vụ báo cáo theo từng năm, từng quý nên phần báo cáo thống kê cũng khá quan trọng. 3. Xây dựng mối liên hệ giữa phép toán trong hệ logic mờ và dự báo truyền thống trên lĩnh vực: Năng lực, Học vấn. Để dễ hình dung, trong lúc xây dựng mối liên hệ này chúng tôi dựa vào số liệu thống kê của dòng họ Nguyễn Hữu (dòng họ ngụ cƣ tại làng Dƣ Hàng, huyện An Hải, Thành phố Hải Phòng nay thuộc phƣờng Dƣ Hàng Kênh, Quận Lê Chân, Thành phố Hải Phòng ). 3.1. Thống kê số người trong dòng họ. Theo kế hoạch đặt ra, kế hoạch khảo sát sẽ đƣợc thực hiện trên nhiều dòng họ nhƣng do thời gian cũng nhƣ nhân lực hạn chế, chính vì vậy em chỉ 30
- khảo sát đƣợc trong một dòng họ nhƣng theo tính toán và số liệu thống kê thì những kết quả này cũng hoàn toàn có thể áp dụng cho các dòng họ khác. Trên thực tế khi một dòng họ quá lớn thì sẽ đƣợc tách ra thành các chi nhỏ hơn và trƣởng chi sẽ là ngƣời quản lý chi đó, dòng họ Nguyễn Hữu sau khi tách chi cho đến nay có tổng số 6 đời. Dƣới đây là số liệu thống kê về các đời trong dòng họ đó. Đời thứ Số ngƣời 1 2 2 4 3 5 4 15 5 29 6 30 Tổng 85 cộng Hình 1.5: Thống kê về tổng số người của dòng họ Nguyễn Hữu Từ số liệu thống kê ta có biểu đồ sau: 35 30 25 20 15 Số người 10 5 0 1 2 3 4 5 6 Hình 1.6: Biểu đồ thống kê số người theo các đời của dòng họ Nguyễn Hữu 31
- * Nhận xét: Từ số liệu thống kê và biểu đồ ta thấy số ngƣời các đời tăng lên rõ rệt nhƣng giữa đời 5 và đời 6 chƣa có sự khác biệt nhiều. Điều đó đƣợc giải thích: Số ngƣời có 1 con hoặc chƣa có con ở đời 5 chiếm đa số, ngoài ra số thành viên nữ chiếm tỉ lệ cao. Và tƣơng lai số lƣợng thành viên đời 6 có khả năng tiếp tục đƣợc tăng lên. 3.2. Kết quả khảo sát về trình độ học vấn và năng lực làm việc 3.2.1. Về trình độ học vấn a. Kết quả khảo sát Ta có kết quả khảo sát về trình độ học vấn của dòng họ Nguyễn Hữu đƣợc kết quả thể hiện trong bảng dƣới đây: Đời thứ Sau đại Đại học Cao Trung Công Ko đi Khác học đẳng cấp nhân học 1 0 0 0 0 1 1 0 2 0 0 1 1 1 1 0 3 0 1 2 1 0 1 0 4 0 2 4 5 2 2 0 5 0 3 2 1 18 5 0 6 3 10 3 3 0 1 10 Hình 1.7: Thống kê về trình độ học vấn của dòng họ Nguyễn Hữu Áp dụng công thức tính trung bình ta có: xi x= 7 xi i 1 Trong đó xi : Số ngƣời ở thuộc tính i (với i =1 → 7) 7 xi : Tổng số ngƣời trong đời (từ đời 1 đến đời 6) i 1 32
- Từ đó ta có bảng kết quả sau : Sau đại Cao Trung Công Ko đi Đời thứ Đại học Khác học đẳng cấp nhân học 1 0 0 0 0 0.5 0.5 0 2 0 0 0.25 0.25 0.25 0.25 0 3 0 0.2 0.4 0.2 0 0.2 0 4 0 0.13333 0.26667 0.33333 0.13333 0.13333 0 5 0 0.10345 0.06897 0.03448 0.62069 0.17241 0 6 0.1 0.33333 0.1 0.1 0 0.03333 0.33333 Hình 1.8: Bảng hệ số Từ bảng số liệu thống kê và kết quả tính toán chúng ta cần xây dựng một hệ số tin tưởng để phán đoán sự phát triển về Năng lực, Học vấn của dòng họ. Áp dụng các phép toán logic và kết quả tính toán được từ đời 1 đến đời 6 chúng ta số liệu dự đoán dưới đây: b. Dự đoán Từ cơ sở lý thuyết về hệ mờ, qua các kết quả khảo sát dòng họ Nguyễn Hữu, ta đi vào xây dựng các luật giữa các đời từ cha ông sang con cháu nhƣ sau: Chọn không gian nền cho hệ thống U={ Trình độ học vấn của cha (ông)}={trên đại học, đại học,cao đẳng, trung cấp, công nhân, không đi học, khác}={u1, u2, u3, u4, u5, u6, u7 } V={ Trình độ học vấn của con (cháu)}={trên đại học, đại học,cao đẳng, trung cấp, công nhân, không đi học, khác}={v1, v2, v3, v4, v5, v6, v7 } Mệnh đề A/U có hàm thuộc hoàn toàn xác định bởi vector {A(u):u U} Mệnh đề B/V có hàm thuộc hoàn toàn xác định bởi vector {B(v):v V} 33
- Đời 1 sang đời 2: 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 A1 = 0 0 0 0 0.5 0.5 0 B1= 0 0 0 .25 0.25 0.25 0.25 0 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 0 0 0 0 0.5 0.5 0 0 0 0 .25 0.25 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 ┐A1= 1 1 1 1 0.5 0.5 1 A1 B1= 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 0 1 1 1 1 0.5 0.5 1 1 1 1 1 0.5 0.5 1 1 1 1 1 0.5 0.5 1 P1 Q1 = ┐A1 (A1 B1)= V1= 1 1 1 1 0.5 0.5 1 1 1 1 1 0.5 0.5 1 1 1 1 1 0.5 0.5 1 1 1 1 1 0.5 0.5 1 0 0 0 0 0.25 0.25 Đời 2 sang đời 3 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 A2= 0 0 0.25 0.25 0.25 0.25 0 B2= 0 0.2 0.4 0.2 0 0.2 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 0 0 0.25 0.25 0.25 0.25 0 0 0.2 0.4 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 ┐A2= 1 1 0.75 0.75 0.75 0.75 1 A2 B2= 0 0 0.25 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 1 1 0.75 0.75 0.75 0.75 1 0 0 0.25 0.2 0 0.2 0 34
- 1 1 0.75 0.75 0.75 0.75 1 1 1 0.75 0.75 0.75 0.75 1 1 1 0.75 0.75 0.75 0.75 1 P2 Q2 = ┐A2 (A2 B2) =V2= 1 1 0.75 0.75 0.75 0.75 1 1 1 0.75 0.75 0.75 0.75 1 1 1 0.75 0.75 0.75 0.75 1 1 1 0.75 0.75 0.75 0.75 1 Đời 3 sang đời 4: 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 A3= 0 0.2 0.4 0.2 0.2 0 0.2 0 B3= 0 0.13 0.27 0.33 0.13 0.13 0 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.2 0.4 0.2 0.2 0 0.2 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 0 0.13 0.27 0.2 0 0.13 0 ┐A3= 1 0.8 0.6 0.8 1 0.8 1 A3 B3 = 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 0 0.13 0.27 0.2 0 0.13 0 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 P3 Q3 = ┐A3 (A3 B3) = V3= 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 1 0.8 0.6 0.8 1 0.8 1 35
- Đời 4 sang đời 5: 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.6 0.17 0 A4= 0 0.13 0.27 0.33 0.13 0.13 0 B4= 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.6 0.17 0 0 0.13 0.27 0.33 0.13 0.13 0 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 0 0.1 0.07 0.03 0.13 0.13 0 ┐A4= 1 0.87 0.73 0.67 0.87 0.87 1 A4 B4 = 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 0 0.1 0.07 0.03 0.13 0.13 0 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 P4 Q4 = ┐A4 (A4 B4) = V4= 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 1 0.87 0.73 0.67 0.87 0.87 1 Đời 5 sang đời 6: 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 0.1 0.33 0.1 0.1 0 0.03 0.33 A5 = 0 0.1 0.07 0.03 0.6 0.17 0 B5= 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 0.1 0.33 0.1 0.1 0 0.03 0.33 0 0.1 0.07 0.03 0.6 0.17 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 ┐A5= 1 0.9 0.93 0.97 0.4 0.83 1 A5 B5 = 0 0.1 0.07 0.03 0 0.03 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 1 0.9 0.93 0.97 0.4 0.83 1 0 0.1 0.07 0.03 0 0.03 0 36
- 1 0.9 0.93 0.97 0.4 0.83 1 1 0.9 0.93 0.97 0.4 0.83 1 P5→Q5 = ┐A5 (A5 B5) =V5= 1 0.9 0.93 0.97 0.4 0.83 1 1 0.9 0.93 0.97 0.4 0.83 1 1 0.9 0.93 0.97 0.4 0.83 1 1 0.9 0.93 0.97 0.4 0.83 1 1 0.9 0.93 0.97 0.4 0.83 1 Chuyển các ma trận kết quả 7 7 chiều thành các ma trận một chiều Áp dụng công thức tính trung bình : V1 = 1 1 1 1 0.5 0.5 1 → %V1= 0.17 0.17 0.17 0.17 0.08 0.08 0.17 V2= 1 1 0.75 0.75 0.75 0.75 1 → %V2= 0.17 0.17 0.12 0.12 0.12 0.12 0.17 1 V3 = 1 0.8 0.6 0.8 1 0.8 1 → %V3= 0.17 0.13 0.1 0.13 0.17 0.13 0.17 V4= 1 0.87 0.73 0.67 0.87 0.87 1 →%V4 = 0.17 0.14 0.12 0.11 0.14 0.14 0.17 V5 = 1 0.9 0.93 0.97 0.4 0.83 1 →%V5 = 0.17 0.15 0.15 0.16 0.06 0.14 0.17 Áp dụng công thức nguyên lý suy rộng (Trang 12) A1 A2 A3 A4 A5(u,v)=min( A1 A2 A3 A4, A5) = Min( A1 A2 A3, A4, A5) = Min( A1 A2, A3, A4, A5) = Min( A1, A2, A3, A4, A5) Min(V1,V2,V3,V4,V5) = 1 0.8 0.6 0.67 0.4 0.5 1 % Min = 0.2 0.16 0.12 0.14 0.08 0.1 0.2 37
- 0.25 0.2 Trên đại học Đại học 0.15 Cao đẳng Trung cấp 0.1 Công nhân Không đi hoc Khác 0.05 0 HSTT 1 HSTT 2 HSTT 3 HSTT 4 HSTT 5 HSTT nhất Hình 1.9: Biểu đồ dự đoán trình độ học vấn của dòng họ Nguyễn Hữu * Nhận xét: Nhìn vào biểu đồ dự đoán trình độ học vấn ta thấy, trình độ học vấn Sau đại học tăng lên rõ rệt (từ 17% lên 20% ), số ngƣời học Công nhân và Không đi học giảm xuống nhiều (Công nhân từ hơn 14% giảm xuống còn 8%, Ngƣời Không đi học giảm từ 14% xuống còn 10%). Có đƣợc kết quả đó là do dòng họ đã có sự quan tâm chú trọng đầu tƣ cho học hành, hơn nữa điều kiện kinh tế ngày càng đƣợc phát triển do đó điều kiện về học tập cũng đƣợc tăng lên. Càng về sau dòng họ càng phát triển về học tập, nếu cứ theo xu hƣớng này thì ở đời 7 rất có khả năng dòng họ có nhiều ngƣời học ở mức học vấn cao. 38
- 3.2.2. Về năng lực làm việc a. Kết quả khảo sát Bảng kết quả khảo sát về năng lực làm việc của dòng họ Nguyễn Hữu Đời thứ Rất tốt Tốt Trung Kém Rất kém bình 1 0 1 1 0 0 2 1 2 1 0 0 3 2 2 1 0 0 4 3 8 2 1 1 5 5 12 8 3 1 6 7 15 5 2 1 Hình 1.10: Thống kê về năng lực làm việc của dòng họ Nguyễn Hữu Áp dụng công thức tính trung bình ta có: xi x= 5 xi i 1 Trong đó xi : Số ngƣời ở thuộc tính i (với i =1 → 5) 5 xi : Tổng số ngƣời trong đời (từ đời 1 đến đời 6) i 1 Từ đó ta có bảng kết quả sau : Đời thứ Rất tốt Tốt TB Kém Rất kém 1 0 0.5 0.5 0 0 2 0.25 0.5 0.25 0 0 3 0.4 0.4 0.2 0 0 4 0.2 0.53333 0.13333 0.06667 0.06667 5 0.17241 0.41379 0.27586 0.10345 0.03448 6 0.23333 0.5 0.16667 0.06667 0.03333 Hình 1.11: Bảng hệ số 39
- Từ bảng số liệu thống kê và kết quả tính toán chúng ta cần xây dựng một hệ số tin tưởng để phán đoán sự phát triển Năng lực của dòng họ. Áp dụng các phép toán logic và kết quả tính toán được từ đời 1 đến đời 6 chúng ta xây dựng các dự đoán sau: b. Dự đoán Từ cơ sở lý thuyết về hệ mờ, qua các kết quả khảo sát dòng họ Nguyễn Hữu, ta đi vào xây dựng các luật giữa các đời từ cha ông sang con cháu nhƣ sau: Chọn không gian nền cho hệ thống U={Năng lực làm việc của cha (ông) }= {Rất tốt, tốt, trung bình, kém, rất kém } ={u1, u2, u3, u4, u5} V={Năng lực làm việc của con (cháu)}= {Rất tốt, tốt, trung bình, kém, rất kém } = {v1, v2, v3, v4, v5} Mệnh đề A/U có hàm thuộc hoàn toàn xác định bởi vector {A(u):u U} Mệnh đề B/V có hàm thuộc hoàn toàn xác định bởi vector {B(v):v V} Để tính độ thuộc của quan hệ mờ, thác triển A1 trên không gian nền U×V Đời 1 sang đời 2: 0 0.5 0.5 0 0 0.25 0.5 0.25 0 0 A1= 0 0.5 0.5 0 0 B1= 0.25 0.5 0.25 0 0 0 0.5 0.5 0 0 0.25 0.5 0.25 0 0 0 0.5 0.5 0 0 0.25 0.5 0.25 0 0 0 0.5 0.5 0 0 0.25 0.5 0.25 0 0 1 0.5 0.5 1 1 0 0.5 0.25 0 0 ┐A1= 1 0.5 0.5 1 1 A1 B1 = 0 0.5 0.25 0 0 1 0.5 0.5 1 1 0 0.5 0.25 0 0 1 0.5 0.5 1 1 0 0.5 0.25 0 0 1 0.5 0.5 1 1 0 0.5 0.25 0 0 1 0.5 0.5 1 1 1 0.5 0.5 1 1 P →Q = ┐A1 (A1 B1) = V1= 1 1 1 0.5 0.5 1 1 1 0.5 0.5 1 1 1 0.5 0.5 1 1 40
- Đời 2 sang đời 3: 0.4 0.4 0.2 0 0 0.25 0.5 0.25 0 0 0.4 0.4 0.2 0 0 0.25 0.5 0.25 0 0 A2= B2= 0.4 0.4 0.2 0 0 0.25 0.5 0.25 0 0 0.4 0.4 0.2 0 0 0.25 0.5 0.25 0 0 0.4 0.4 0.2 0 0 0.25 0.5 0.25 0 0 0.75 0.5 0.75 1 1 0.25 0.4 0.2 0 0 ┐A2= 0.75 0.5 0.75 1 1 A2 B2 = 0.25 0.4 0.2 0 0 0.75 0.5 0.75 1 1 0.25 0.4 0.2 0 0 0.75 0.5 0.75 1 1 0.25 0.4 0.2 0 0 0.75 0.5 0.75 1 1 0.25 0.4 0.2 0 0 0.75 0.5 0.75 1 1 0.75 0.5 0.75 1 1 P →Q = ┐A2 (A2 B2) = V2= 2 2 0.75 0.5 0.75 1 1 0.75 0.5 0.75 1 1 0.75 0.5 0.75 1 1 Đời 3 sang đời 4: 0.4 0.4 0.2 0 0 0.2 0.53 0.13 0.07 0.07 A3= 0.4 0.4 0.2 0 0 B3= 0.2 0.53 0.13 0.07 0.07 0.4 0.4 0.2 0 0 0.2 0.53 0.13 0.07 0.07 0.4 0.4 0.2 0 0 0.2 0.53 0.13 0.07 0.07 0.4 0.4 0.2 0 0 0.2 0.53 0.13 0.07 0.07 0.6 0.6 0.8 1 1 0.2 0.4 0.13 0 0 ┐A3= 0.6 0.6 0.8 1 1 A3 B3 = 0.2 0.4 0.13 0 0 0.6 0.6 0.8 1 1 0.2 0.4 0.13 0 0 0.6 0.6 0.8 1 1 0.2 0.4 0.13 0 0 0.6 0.6 0.8 1 1 0.2 0.4 0.13 0 0 0.6 0.6 0.8 1 1 0.6 0.6 0.8 1 1 P3→Q3 = ┐A3 (A3 B3) = V3= 0.6 0.6 0.8 1 1 0.6 0.6 0.8 1 1 0.6 0.6 0.8 1 1 41
- Đời 4 sang đời 5: 0.2 0.53 0.13 0.07 0.07 0.17 0.41 0.28 0.1 0.03 0.2 0.53 0.13 0.07 0.07 0.17 0.41 0.28 0.1 0.03 A4= 0.2 0.53 0.13 0.07 0.07 B4= 0.17 0.41 0.28 0.1 0.03 0.2 0.53 0.13 0.07 0.07 0.17 0.41 0.28 0.1 0.03 0.2 0.53 0.13 0.07 0.07 0.17 0.41 0.28 0.1 0.03 0.8 0.47 0.87 0.93 0.93 0.17 0.41 0.13 0.07 0.03 ┐A4= 0.8 0.47 0.87 0.93 0.93 A4 B4 = 0.17 0.41 0.13 0.07 0.03 0.8 0.47 0.87 0.93 0.93 0.17 0.41 0.13 0.07 0.03 0.8 0.47 0.87 0.93 0.93 0.17 0.41 0.13 0.07 0.03 0.8 0.47 0.87 0.93 0.93 0.17 0.41 0.13 0.07 0.03 0.8 0.47 0.87 0.93 0.93 0.8 0.47 0.87 0.93 0.93 P4→Q4 = ┐A4 (A4 B4) = V4= 0.8 0.47 0.87 0.93 0.93 0.8 0.47 0.87 0.93 0.93 0.8 0.47 0.87 0.93 0.93 Đời 5 sang đời 6: 0.17 0.41 0.28 0.1 0.03 0.23 0.5 0.17 0.07 0.03 0.17 0.41 0.28 0.1 0.03 0.23 0.5 0.17 0.07 0.03 0.17 0.41 0.28 0.1 0.03 A5= B5= 0.23 0.5 0.17 0.07 0.03 0.17 0.41 0.28 0.1 0.03 0.23 0.5 0.17 0.07 0.03 0.17 0.41 0.28 0.1 0.03 0.23 0.5 0.17 0.07 0.03 2 0.83 0.59 0.72 0.9 0.97 0.17 0.41 0.17 0.07 0.03 0.83 0.59 0.72 0.9 0.97 0.17 0.41 0.13 0.07 0.03 ┐A5= 0.83 0.59 0.72 0.9 0.97 A5 B5 = 0.17 0.41 0.13 0.07 0.03 0.83 0.59 0.72 0.9 0.97 0.17 0.41 0.13 0.07 0.03 0.83 0.59 0.72 0.9 0.97 0.17 0.41 0.13 0.07 0.03 0.83 0.59 0.72 0.9 0.97 0.83 0.59 0.72 0.9 0.97 P5→Q5 = ┐A5 (A5 B5)= V5= 0.83 0.59 0.72 0.9 0.97 0.83 0.59 0.72 0.9 0.97 0.83 0.59 0.72 0.9 0.97 42
- Áp dụng công thức tính trung bình: V1 = 1 0.5 0.5 1 1 → %V1= 0.25 0.125 0.125 0.25 025 V2= 0.75 0.5 0.75 1 1 → %V2= 0.19 0.12 0.19 0.25 025 V3 = 0.6 0.6 0.8 1 1 → %V3= 0.15 0.15 0.2 0.25 025 V4= 0.8 0.47 0.87 0.93 0.93 → %V4 = 0.2 0.12 0.22 023 023 V5 = 0.83 0.59 0.72 0.9 0.97 →%V5 = 0.21 0.15 0.18 0.22 024 Áp dụng công thức nguyên lý suy rộng (Trang 12) A1 A2 A3 A4 A5(u,v)=min( A1 A2 A3 A4, A5) = Min( A1 A2 A3, A4, A5) = Min( A1 A2, A3, A4, A5) = Min( A1, A2, A3, A4, A5) Ta có: Min(V1,V2,V3,V4,V5,V5) = 0.6 0.47 0.5 0.9 0.93 % Min = 0.22 0.15 0.15 0.29 0.20 Rất tốt Tốt Trung bình Kém 0.35 Rất kém 0.3 0.25 0.2 0.15 0.1 0.05 0 HSTT 1 HSTT 2 HSTT 3 HSTT 4 HSTT 5 HSTT Nhất Hình 1.12: Biểu đồ dự đoán năng lực làm việc của dòng họ Nguyễn Hữu 43
- * Nhận xét: Nhìn vào biểu đồ dự đoán năng lực làm việc của dòng họ ta thấy, số ngƣời có năng lực làm việc Rất tốt có tăng nhƣng tăng chậm (từ 15% 20% 21% và cuối cùng là 22%), số ngƣời có năng lực làm việc Rất kém giảm đi (từ 23% 24% và cuối cùng là 20%). Năng lực này đƣợc hình thành một phần phụ thuộc vào kiến thức của quá trình học tập, nghiên cứu (hay chính là trình độ học vấn) còn phần lớn là do quá trình học hỏi tích luỹ kinh nghiệm thực thế, khả năng thích ứng với công việc, tuân thủ các nguyên tắc làm việc. Vì vậy năng lực làm việc của đời cha (ông) cũng phần nào ảnh hƣởng tới năng lực làm việc của con cháu. * Tổng kết: Dựa trên những số liệu thống kê, các kết quả tính toán và kết quả điều tra thực tế. Về cơ bản những dự đoán về số ngƣời, trình độ học vấn, năng lực làm việc là khá sát với thực tế của dòng họ. Nhƣ vậy với cách dự đoán trên chúng ta hoàn toàn có thể áp dụng với bất kì dòng họ nào khác. 44
- CHƢƠNG III: XÂY DỰNG PHẦN MỀM GIA PHẢ 1. Phân tích chức năng: 1.1. Các chức năng chính của hệ thống Qua tìm hiểu thực tế bài toán quản lý gia phả, hệ thống có 5 chức năng chính sau: Chức năng quản trị Chức năng này phân quyền cho ngƣời dùng. Ngƣời dùng nào nắm quyền quản trị thì đƣợc phép cập nhật (thêm mới, sửa, xóa ) các thông tin về dòng họ, gia đình, thành viên trong dòng họ. Còn lại những ngƣời dùng khác thì chỉ đƣợc phép xem gia phả, tìm kiếm (thực tế thì trƣởng họ giữ quyền quản trị và các thành viên khác trong dòng họ chỉ đƣợc xem gia phả). Chức năng quản lý thông tin Chức năng này có nhiệm vụ biểu diễn cây gia phả của dòng họ, đồng thời đƣa ra thông tin chi tiết của từng thành viên trong dòng họ. Ví dụ nhƣ: đƣa ra tên thành viên, đời, năm sinh, giới tính, tiểu sử, ảnh, bệnh di truyền Xem gia phả: từ thông tin về các thành viên trong dòng họ, chƣơng trình hiển thị và biểu diễn mỗi quan hệ trên cây gia phả . Mỗi nhánh của cây là tên của một ngƣời. Chức năng tìm kiếm Trong chức năng này ngƣời dùng có thể tìm kiếm thành viên hay bất kỳ một thông tin nào đó liên quan đến thành viên đó. Tìm kiếm theo các tiêu chí khác nhau, nhƣ theo tên, theo tuổi, gia đình hay theo đời Việc tìm kiếm nhanh chóng và đặc biệt là tự động . Chức năng thống kê Chức năng thống kê có nhiệm vụ thống kê, kết xuất thông tin về từng cá nhân, từng đời, từng gia đình. 45
- Chức năng dự đoán Chức năng dự đoán có nhiệm vụ dự đoán sự phát triển của dòng họ theo số ngƣời, trình độ học vấn, năng lực làm việc. Hình dưới đây là biểu đồ phân cấp chức năng của hệ thống: Hệ thống quản lý gia phả Quản trị Quản lý thông tin Tìm kiếm Thống kê Dự đoán Hình 3.1: Biểu đồ phân cấp chức năng của hệ thống Quản lý gia phả 1.2. Phân rã chức năng “Quản lý thông tin” Biểu đồ phân rã chức năng Hiển thị cây gia phả Hiển thị chi tiết TV Quản lý thông tin Thêm mới thành viên Thêm mới dòng họ Thêm mới gia đình Hình 3.2: Biểu đồ phân rã chức năng “Quản lý thông tin” 46
- Chức năng “quản lý thông tin” gồm các chức năng sau: - Hiển thị cây gia phả: Hiển thị các thành viên trong dòng họ dƣới dạng hình cây. Mỗi nhánh đƣợc thể hiện là một thành viên. Từ nhánh gốc (cụ tổ) phân ra các nhánh con, tiếp tục nhƣ vậy cho đến nhánh cuối cùng. - Hiển thị chi tiết thành viên: Hiển thị đầy đủ các thông tin chi tiết của từng thành viên. - Thêm mới thành viên: Giúp cho trƣởng tộc có thể thêm mới thành viên vào trong dòng họ. - Thêm mới dòng họ: Trƣởng tộc có thể thêm mới bất kỳ dòng họ nào. - Thêm mới gia đình: Chức năng này sẽ đƣợc thực hiện khi có thành viên đƣợc tách ra từ gia đình lớn để lập một gia đình riêng. 1.3. Phân rã chức năng “Tìm kiếm” Biểu đồ phân rã chức năng: Tìm kiếm thành viên Tìm kiếm Tìm kiếm gia đình Tìm kiếm theo tuổi Hình 3.3: Biểu đồ phân rã chức năng “Tìm kiếm” Chức năng “Tìm kiếm” gồm các chức năng sau: - Tìm kiếm thành viên: Dựa vào tên thành viên để tiến hành tìm kiếm. - Tìm kiếm gia đình: Từ một thành viên trong gia đình ta có thể tìm kiếm đƣợc tất cả những thành viên còn lại trong gia đình đó. - Tìm kiếm theo tuổi: Ngƣời sử dụng có thể tìm kiếm đƣợc những thành viên trong độ tuổi nào đó, kể cả thành viên đó còn sống hay đã mất. 47
- 1.4. Phân rã chức năng “Thống kê” Biểu đồ phân rã chức năng: Thống kê theo đời Thống kê Thống kê gia đình Thống kê thành viên Hình 3.4:Biểu đồ phân rã chức năng “Thống kê” Chức năng “Thống kê” gồm các chức năng sau: - Thống kê theo đời: Thống kê các thành viên trong một đời - Thống kê gia đình: Thống kê các thành viên trong một gia đình - Thống kê thành viên: Thống kê thông tin chi tiết thành viên 1.5. Phân rã chức năng “dự đoán” Số ngƣời Dự đoán Trình độ Năng lực Hình 3.5:Biểu đồ phân rã chức năng “Dự đoán” Chức năng “Dự đoán” gồm các chức năng sau: - Dự đoán số ngƣời: Dự đoán sự phát triển về số ngƣời của dòng họ - Dự đoán trình độ học vấn : Dự đoán sự phát triển về trình độ học vấn của dòng họ. - Dự đoán năng lực làm việc: Dự đoán sự phát triển về năng lực làm việc của dòng họ. 48
- 2. Phân tích dữ liệu: 2.1. Biểu đồ dòng dữ liệu mức ngữ cảnh của hệ thống Thông tin Phần mềm quản Trƣởng tộc lý gia phả Kết quả xử lý Hình 3.6: Biểu đồ dòng dữ liệu mức ngữ cảnh của hệ thống 2.2. Biểu đồ dòng dữ liệu mức đỉnh của hệ thống Quản lý TT Kho DL Tìm Trƣởng tộc kiếm Thống kê Dự đoán Hình 3.7: Biểu đồ dòng dữ liệu mức đỉnh của hệ thống - Tác nhân ngoài: Trƣởng tộc - Kho dữ liệu: Cuốn gia phả của họ tộc - Các chức năng chính: Quản lý thông tin, tìm kiếm, thống kê, dự đoán. 49
- 2.3. Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Quản lý thông tin” Hiển thị gia phả Trƣởng Thêm mới tộc DH Kho DL Thêm mới GĐ Hình 3.8: Biểu đồ dòng dữ liệu mức dưới đỉnh chức năng “Quản lý thông tin” - Tác nhân ngoài: Trƣởng tộc - Kho dữ liệu: Cuốn gia phả của họ tộc - Các chức năng chính: Hiển thị, Thêm mới dòng họ, Thêm mới gia đình, Thêm mới thành viên. 2.4.Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Tìm kiếm” Tìm kiếm thành viên Tìm kiếm gia đình Trƣởng Kho DL tộc Tìm theo tuổi Hình 3.9:Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Tìm kiếm” - Tác nhân ngoài: Trƣởng tộc - Kho dữ liệu: Cuốn gia phả của họ tộc 50
- - Các chức năng chính: Tìm kiếm thành viên, Tìm kiếm gia đình, Tìm theo tuổi 2.5. Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Thống kê” Báo cáo cá nhân Trƣởng Báo cáo tộc Kho DL gia đình Báo cáo dòng họ Hình 3.10: Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Thống kê” - Tác nhân ngoài: Trƣởng tộc - Kho dữ liệu: Cuốn gia phả của họ tộc - Các chức năng chính: Báo cáo gia đình, báo cáo theo thành viên, báo cáo theo đời. 2.6. Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Dự đoán” Dự đoán số ngƣời Trƣởng Dự đoán Kho DL TĐ tộc Dự đoán NL Hình 3.11: Biểu đồ dòng dữ liệu mức dưới đỉnh của chức năng “Dự đoán” - Tác nhân ngoài: Trƣởng tộc - Kho dữ liệu: Cuốn gia phả của họ tộc - Các chức năng chính: Dự đoán số ngƣời, dự đoán trình độ, dự đoán năng lực 51
- 3. Thiết kế hệ thống 3.1. Thiết kế chức năng Các chức năng chính của chƣơng trình đƣợc tổ chức dƣới dạng Menu hai cấp sử dụng Tiếng Việt đƣợc thể hiện trên bảng sau: Menu cấp 1 Menu cấp 2 Mô tả Đăng nhập Phân quyền truy cập hệ thống Thêm mới Thêm mới một dòng họ khác khi dòng họ. ngƣời sử dụng cần quản trị. Thêm mới Thêm mới gia đình khi thành viên Công việc gia đình nằm trong dòng họ xây dựng gia đình. Thêm mới Thêm mới thành viên vào dòng họ thành viên trong trƣờng hợp thành viên đó mới đƣợc bổ sung. Tìm kiếm Tìm kiếm thành viên theo tên theo tên Tìm kiếm Tìm kiếm thành viên theo tuổi theo tuổi Tìm kiếm Tìm kiếm thành viên theo gia đình gia đình Báo cáo- Báo cáo thống kê theo từng thành thống kê viên, từng gia đình, từng đời của Báo cáo dòng họ. Dự đoán Dự đoán dòng họ về trình độ học vấn, năng lực làm việc hoặc số ngƣời của dòng họ trong tƣơng lai. Danh sách Hiển thị các thông tin của từng thành viên thành viên. Hiển thị chi Hiển thị các thông tin chi tiết của tiết thành từng thành viên. Xem thông viên tin Tộc ƣớc Nội dung tộc ƣớc của dòng họ. 52
- Hƣớng dẫn Hƣớng dẫn sử dụng chƣơng trình sử dụng Trợ giúp Tƣ vấn đặt Tƣ vấn đặt tên con để không trùng tên với các tên của những thành viên khác trong dòng họ. Hình 3.12: Thiết kế các chức năng chính của hệ thống Ngôn ngữ đƣợc lựa chọn để cài đặt chƣơng trình là ngôn ngữ lập trình Visual Basic.NET 2005. 3.2. Thiết kế cơ sở dữ liệu 3.2.1. Lựa chọn cài đặt cơ sở dữ liệu. Dữ liệu lựa chọn cài đặt trên hệ quản trị cơ sở dữ liệu Microsoft Access. Lý do để lựa chọn Access là sự đơn giản trong tổ chức bảo quản và khắc phục các sự cố. Access hỗ trợ nhiều phƣơng tiện lập trình, có nhiều hàm đƣợc nhúng với SQL giúp việc tạo các truy vấn, lọc dữ liệu qua SQL dễ dàng hơn. Tuy nhiên CSDL Access chƣa hỗ trợ tốt cho khai thác trên mạng. a. Thiết kế các bảng dữ liệu Cơ sở dữ liệu gồm các bảng sau: Bảng Quản trị: Bảng này có nhiệm vụ quản lý các ngƣời dùng hệ thống (thông thƣờng công việc quản lý gia phả do trƣởng họ đảm trách và các thành viên khác trong dòng họ chỉ đƣợc phép xem mà không đƣợc thay đổi hệ thống quản lý gia phả nói chung, cũng nhƣ các thông tin về các thành viên trong các dòng họ nói riêng). Nói chung bảng này có nhiệm vụ phân quyền ngƣời dùng. tblQuanTri(MaDN, MatKhau) STT Tên trƣờng KDL Độ dài Mô tả 1 MaDN Text 20 Mã đăng nhập 2 MatKhau Text 15 Mật khẩu Bảng 3.1:Bảng tblQuan Tri 53
- Bảng Danh Sách Dòng Họ : Bảng này có nhiệm vụ lƣu trữ tất cả các dòng họ đƣợc quản lý. tblDongHo(MaHo, TenHoToc, HuongHoa) STT Tên trƣờng KDL Độ dài Mô tả 1 MaHo Text 50 Mã của họ 2 TenHoToc Text 50 Tên dòng họ 3 HuongHoa Text 50 Hƣơng hoả Bảng 3.2: Bảng tblDongHo Bảng Thành viên : Bảng này có nhiệm vụ lƣu trữ các thông tin về một thành viên trong dòng họ cần quản lý. Bao gồm các thông tin về họ (thuộc dòng họ nào), đời (đời thứ mấy trong dòng họ), họ và tên của ngƣời đó, nơi sinh, giới tính, địa chỉ, số điện thoại (nếu có), năm sinh, năm mất, tiểu sử của ngƣời đó, thông tin về cha, mẹ, và ảnh của ngƣời đó tblThanhVien(MaTV, MaHo, MaGD, MaDoi, TenTV,TenTu, TenHuy, NoiSinh, GioiTinh, QueQuan, NamSinh, NamMat, TieuSu, ConThu, DiTat, TuoiTho, TenMe, TenBo, VoThu, NoiAnTang, Anh, NhomMau, TrinhDoVH, BenhTruyenNhiem ) STT Tên trƣờng KDL Độ dài Mô Tả 1 MaTV Text 50 Số thứ tự 2 MaGD Text 50 Mã gia đình 3 MaHo Text 50 Mã họ 4 MaDoi Number Integer Mã đời 5 TenTu Text 50 Tên 6 TenHuy Text 50 Nơi sinh 7 GioiTinh Text 50 Giới tính 8 NoiSinh Memo Địa chỉ 9 QueQuan Text 10 Quê quán 10 NamSinh Date/Time Năm sinh 11 NamMat Date/Time 50 Năm mất 12 TieuSu Memo Chú thích 13 NoiAnTang Memo Nơi an táng 14 TenBo Text 50 Tên cha 15 TenMe Text 50 Tên mẹ 54
- 16 Anh Memo 50 Ảnh của ngƣời 17 TenTV Text 50 Tên thành viên 18 TrinhDoVH Text 50 Trình độ văn hoá 19 NhomMau Text 50 Nhóm máu 20 BenhTruyenNhiem Text 50 Bệnh truyền nhiễm 21 VoThu Number Integer Vợ thứ mấy 22 ConThu Number Integer Con thứ mấy 23 TuoiTho Number Integer Tuổi thọ 24 DiTat Text 50 Dị tật bẩm sinh Bảng 3.3: Bảng tblThanhVien Bảng Gia đình: bảng này lƣu thông tin để xác định những thành viên trong cùng một gia đình. Một gia đình thì gồm nhiều thành viên. tblGiaDinh(MaGD, TenGD, GhiChu) STT Tên trƣờng KDL Độ dài Mô tả 1 MaGD Text 20 Mã gia đình 2 TenGD Text 50 Mã thành viên 3 GhiChu Memo Ghi Chú Bảng 3.4: Bảng tblGiaDinh Bảng Đời : Bảng này lƣu trữ các đời có trong dòng họ. Mỗi dòng họ thì gồm rất nhiều đời. Bảng này chỉ gồm 2 trƣờng : tblTendoi(Madoi, Tendoi) STT Tên trƣờng KDL Độ dài Mô tả 1 MaDoi Number Integer Mã đời 2 TenDoi text 50 Tên đời Bảng 3.5: Bảng tblTendoi 55
- Bảng Gia sử: Lƣu thông tin về tộc ƣớc dòng họ, xuất xứ dòng họ. tblGiaSu(MaGiaSu, MaTV, MaHo, TocUoc, NienDai) STT Tên trƣờng KDL Độ dài Mô tả 1 MaGiaSu Text 50 Mã gia sử 2 MaTV Text 50 Mã thành viên 3 MaHo Memo Mã họ 4 TocUoc Text 50 Tộc ƣớc 5 NienDai Text 50 Niên đại Bảng 3.6: Bảng tblGiaSu 3.2.2. Mô hình quan hệ dữ liệu Bảng 3.7: Bảng mô hình quan hệ dữ liệu 56
- 3.3. Thiết kế giao diện 3.3.1. Giao diện chính Hình 3.13: Giao diện chính 3.3.2. Giao diện Hiển thị cây gia phả Hình 3.14: Giao diện hiển thị cây gia phả 57
- 3.3.3. Giao diện Đăng nhập Hình 3.15: Giao diện form đăng nhập 3.3.4. Giao diện Hiển thị chi tiết Hình 3.16: Giao diện Hiển thị chi tiết 58
- 3.3.5. Giao diện thêm mới Gia đình Hình 3.17: Giao diện thêm mới gia đình 3.3.6. Giao diện thêm mới Dòng họ Hình 3.18: Giao diện thêm mới dòng họ 59
- 3.3.7. Giao diện tìm kiếm Chi tiết Hình 3.19: Giao diện tìm kiếm chi tiết 3.3.8. Giao diện tìm kiếm theo Gia đình Hình 3.20: Giao diện tìm kiếm theo gia đình 60
- 3.3.9. Giao diện tìm kiếm theo Tuổi Hình 3.21: Giao diện tìm kiếm theo tuổi 3.3.10. Giao diện báo cáo Thành viên Hình 3.22: Giao diện thống kê số thành viên 61
- 3.3.11. Giao diện báo cáo Gia đình Hình 3.23: Giao diện thố ng kê gia đình 3.3.12. Giao diện báo cáo theo Đời Hình 3.24: Giao diện thống kê theo đời 62
- 3.3.13. Giao diện dự đoán Số ngƣời Hình 3.25: Giao diện dự đoán số người 3.3.14. Giao diện dự đoán Năng lực Hình 3.26: Giao diện dự đoán năng lực 3.3.15. Giao diện dự đoán Học vấn Hình 3.27: Giao diện dự đoán học vấn 63
- KẾT LUẬN VÀ KIẾN NGHỊ Sau thời gian nghiên cứu và thực hiện đề tài tốt nghiệp, các yêu cầu chính của đề tài về cơ bản đã đƣợc hoàn thành nhƣ: Kết luận: - Thực hiện khảo sát dòng họ Nguyễn Hữu, tìm hiểu đƣợc nhu cầu xử lý thông tin. - Thực hiện đƣợc phân tích hệ thống. Lập đƣợc các biểu đồ phân cấp chức năng và phân rã cho các chức năng chính của hệ thống. - Phân tích hệ thống về dữ liệu - Thiết kế, xây dựng cơ sở dữ liệu. - Thiết kế giao diện, chƣơng trình giải quyết đƣợc các chức năng chính của bài toán. - Cài đặt chƣơng trình quản lí gia phả dòng họ Nguyễn Hữu đã đạt đƣợc các yêu cầu đặt ra. Kiến nghị: - Phần cài đặt có thể dùng nhiều hàm để gọi đến khi đó chƣơng trình chạy sẽ nhẹ hơn, tốn ít bộ nhớ. - Đƣa ra đƣợc thông tin về hậu duệ. - Ứng dụng sâu hơn công nghệ mờ vào bài toán quản lý gia phả. Ví dụ: Đoán nhận đời con cháu của một cá nhân sẽ học đại học hay cao đẳng Trên đây là các kết quả đạt đƣợc cũng nhƣ một số mặt còn tồn tại và hƣớng phát triển đề tài trong tƣơng lai. Em xin chân thành cảm ơn sự quan tâm giúp đỡ, hƣớng dẫn nhiệt tình của thầy giáo Th.s Trần Ngọc Thái và sự giúp đỡ, cung cấp tài liệu cũng nhƣ giải đáp các thắc mắc của các thầy giáo trong khoa và các bạn bè cùng lớp. 64
- TÀI LIỆU THAM KHẢO [1] Bùi Công Cƣờng – Nguyễn Doãn Phƣớc, Hệ mờ mạng nơron và ứng dụng, NXB Lao động xã hội [2] Phan Xuân Minh – Nguyễn Doãn Phƣớc, Lý thuyết điều khiển Mờ, NXB KH & KT [3] Phạm Hữu Khang, Kỹ xảo lập trình VB.net, NXB Minh Khai [4] WebSite: WWW.vbcode.com, www.Vietnamgiapha.com. [5] Cuốn Gia Phả dòng họ Nguyễn Hữu 65