1. Trang chủ
  2. » Công Nghệ Thông Tin

he chuyen gia nhan dang loai vat

27 295 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • LỜI NÓI ĐẦU

  • MỤC LỤC

  • CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA

    • 1. HỆ CHUYÊN GIA LÀ GÌ?

    • 2. THÀNH PHẦN CỦA HỆ CHUYÊN GIA

    • 3. LỊCH SỬ PHÁT TRIỂN HỆ CHUYÊN GIA

    • 4. ĐẶC TRƯNG VÀ ƯU ĐIỂM HỆ CHUYÊN GIA

    • 5. LĨNH VỰC ỨNG DỤNG

  • CHƯƠNG 2 XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT

    • 1. SUY DIỄN TIẾN TRONG HỆ CHUYÊN GIA

    • 2. XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT

      • 1.1 Giới thiệu hệ chuyên gia nhận dạng loài vật

      • 1.2 Giao diện chương trình

      • a. Form sự kiện

      • b. Form luật

      • c. Class Luật

      • d. Class sự kiện

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

Nội dung

tài liệu viết word có bao gồm cả code giúp các bạn tham khảo trong quá trình làm bài tập lớn môn hệ chuyên gia, bạn hãy tải về và tham khảo nhé, chúc các bạn máy mắn trong phần báo cáo của mình, tài liệu chỉ có tính tham khảo

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN MÔN: HỆ CHUYÊN GIA Đề tài: Nhận dạng loài vật GV hướng dẫn: ThS Lê Thị Thủy Lớp: CĐ-ĐH Khoa Học Máy Tính 1_K10 Nhóm: Thân Quang Định Lương Phương Đông Hà Nội, 2016 LỜI NĨI ĐẦU Ngày khơng phủ nhận vai trò quan trọng máy tính nghiên cứu khoa học kỹ thuật đời sống Máy tính làm điều kỳ diệu giải vấn đề tưởng chừng nan giải Càng ngày có nhiều người tự hỏi, liệu máy tính có khả suy nghĩ người hay chưa, không trả lời câu hỏi Thay vào đó, nêu khác biệt chủ yếu cách làm việc máy tính óc người Một máy tính dù có mạnh đến đâu nữa, phải làm việc theo chương trình xác hoạch định sẵn chun gia Bài tốn phức tạp việc lập trình cơng phu Trong người làm việc cách học hỏi rèn luyện ,khi làm việc người có khả liên tưởng,kết nối việc với việc khác quan trọng hết họ sáng tạo Do khả liên tưởng, người dễ dàng làm nhiều điều mà việc lập trình máy tính đòi hỏi nhiều cơng sức Chẳng hạn việc chuẩn đốn bệnh Một chun gia phấn đốn bênh nhân mắc bệnh Một người bình thường đốn nhận bệnh bệnh thơng qua học hỏi Nhưng thật khó dạy cho máy tính làm việc Từ lâu nhà khoa học nhận thấy ưu điểm óc người tìm cách bắt chước để thực máy tính, tạo cho có khả nhận biết, chuẩn đoán chuyên gia.Các phương pháp suy diễn đời từ nỗ lực Nó thực ý nhanh chóng trở thành hướng nghiên cứu đầy triển vọng mục đích xây dựng máy thơng minh tiến gần tới trí tuệ người Đặc biệt lĩnh vực chuẩn đoán, hệ chuyên gia Và tìm hiểu việc mà máy tính phán đoán, tư người, với mức độ chinh xác cao kiểm chứng Xây dựng hệ chuyên gia nhận dạng loài vật Page MỤC LỤC LỜI NÓI ĐẦU MỤC LỤC CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA 1.HỆ CHUYÊN GIA LÀ GÌ? 2.THÀNH PHẦN CỦA HỆ CHUYÊN GIA .6 3.LỊCH SỬ PHÁT TRIỂN HỆ CHUYÊN GIA 4.ĐẶC TRƯNG VÀ ƯU ĐIỂM HỆ CHUYÊN GIA 5.LĨNH VỰC ỨNG DỤNG 11 CHƯƠNG XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT 13 1.SUY DIỄN TIẾN TRONG HỆ CHUYÊN GIA 13 2.XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT .14 1.1 Giới thiệu hệ chuyên gia nhận dạng loài vật 14 1.2 Giao diện chương trình .14 a.Form kiện 15 b.Form luật 20 c.Class Luật 24 d.Class kiện .24 KẾT LUẬN 26 TÀI LIỆU THAM KHẢO 27 Xây dựng hệ chuyên gia nhận dạng loài vật Page CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA HỆ CHUYÊN GIA LÀ GÌ? Theo E.Feigenbaum: Hệ chuyên gia (Expert System) chương trình máy tính thơng minh sử dụng tri thức (Knowledge) thủ tục suy luận (inference procedures) để giải tốn tương đối khó khăn đòi hỏi chuyên gia giải Chuyên gia hệ thống tin học mơ (emulates) lực đoán (decision) hành động (making abilily) chuyên gia (con người) Hệ chuyên gia lĩnh vực ứng dụng trí tuệ nhân tạo (Artificial Intelligence) hình Hình 1.1 Một số lĩnh vực ứng dụng trí tuệ nhân tạo Hệ chuyên gia sử dụng tri thức chuyên gia để giải vấn đề (bài toán) khác thuộc lĩnh vực Tri thức (knowledge) hệ chun gia phản ánh tinh thơng tích tụ từ sách vở, tạp chí, từ chuyên gia hay nhà bác học Các thuật ngữ hệ chuyên gia, hệ thống dựa tri thức (knowledge-based system) hay hệ chuyên gia dựa tri thức (knowledge-based expert system) thường có nghĩa Một hệ chuyên gia bao gồm ba thành phần chính: sở tri thức (knowledge based), máy suy diễn hay mô tơ suy diễn (inference engine) hệ thống giao tiếp với người sử dụng (user interface) Cơ sở tri thức chứa tri thức để từ ,máy suy diễn tạo câu trả lời cho người sử dụng thông qua hệ thống giao tiếp Xây dựng hệ chuyên gia nhận dạng loài vật Page Người sử dụng (user) cung cấp kiện (facts) biết, có thật hay thơng tin có ích cho hệ chun gia nhận câu trả lời lời khuyên hay gợi ý đắn (expertise) Hoạt động hệ chuyên gia dựa tri thức minh họa sau: Hình 1.2 Hoạt động hệ chuyên gia Mỗi hệ chuyên gia đặc trưng cho lĩnh vực vấn đề (problem domain) đó,như y học,tài chính,khoa học hay cơng nghệ,vv…,mà khơng phải cho lĩnh vực vấn đề Tri thức chuyên gia để giải vấn đề đặc trưng gọi lĩnh vực tri thức(knowledge domain) Hình 1.3 Quan hệ lĩnh vực vấn đề lĩnh vực tri thức Xây dựng hệ chuyên gia nhận dạng loài vật Page Ví dụ: hệ chuyên gia lĩnh vực y học để phát bệnh lây nhiễm có nhiều tri thức số triệu chứng lây bệnh ,lĩnh vực tri thức y học bao gồm bệnh ,triệu chứng chữa trị Chú ý lĩnh vực tri thức hoàn toàn nằm lĩnh vực vấn đề Phần bên lĩnh vực tri thức nói lên khơng phải tri thức cho vấn đề Tùy theo yêu cầu người sử dụng mà có nhiều cách nhìn nhận khác hệ chuyên gia Người sử dụng Vấn đề đặt Người quản trị Tơi dùng để làm gì? Kỹ thuật viên Làm cách để tơi vận hành tốt Nhà nghiên cứu Làm để tơi mở rơng nó? Người sử dụng Nó giúp tơi gì? Nó có rắc rối tốn khơng? Nó có đáng tin cậy khơng? THÀNH PHẦN CỦA HỆ CHUYÊN GIA Hệ chuyên gia có thành phần sau: Bộ giao diện người – máy (User Interface): thực giao tiếp HCG người sử dụng Bộ nhận thông tin từ người sử dụng đưa câu trả lời, lời khuyên, giải thích lĩnh vực Mơtơ suy diễn (Inference Engice): HCG mơ hình hóa cách lập luận người với module động suy diễn HCG chứa động suy diễn để tiến hành suy diễn nhằm tạo tri thức dựa kiện, tri thức vùng nhớ làm việc sở tri thức Hai kiểu suy diễn động suy diễn suy diễn tiến suy diễn lùi Cơ sở tri thức (Knowledge Base): lưu trữ, biễu diễn tri thức mà hệ đảm nhận, làm sở cho hoạt động hệ CSTT bao gồm sở kiện (facts) sở luật (rules) Bộ giải thích (Explantion System): Trả lời hai câu hỏi (why) cách (how) có yêu cầu từ người sử dụng Xây dựng hệ chuyên gia nhận dạng loài vật Page Bộ tiếp nhân tri thức (Knowledge Editor): Làm nhiệm vụ thu nhận tri thức từ chuyên gia nguời, từ kỹ sư xử lý tri thức người sử dụng thông qua yêu cầu lưu trữ vào sở tri thức Vùng nhớ làm việc (Working Memory): chứa kiện liên quan phát trình đưa kết luận Bộ nhớ làm việc tương đương với nhớ ngắn hạn (Short – Term Memory) mơ hình giải vấn đề người Hình 1.4 Các thành phần hệ chuyên gia LỊCH SỬ PHÁT TRIỂN HỆ CHUYÊN GIA Sau số kiện quan trọng lịch sử phát triểu HCG: Năm Các kiện 1943 Dịch vụ bưu điện, mơ hình neural Mc Culloch and Pitts Model 1954 Thuật toán Markov điều kiện thực thi luật 1956 Hội thảo Dartmouth, lý luận logic, tìm kiếm nghiệm suy (heuristic Xây dựng hệ chuyên gia nhận dạng loài vật Page search), thống thuật ngữ trí tuệ nhân tạo 1957 Rosenblatt phát minh khả nhận thức, Newell, Shaw Simon đề suất giải toán tổng quát (GPS: Genenal Problem Solver ) 1958 Mc Carthy đề xuất ngơn ngữ trí tuệ nhân tạo LISA( LISA AI language) 1962 Nguyên lý Rosenblatt’s chức thần kinh nhận thức (Rosenblatt’s Principles of Neurodynamicdynamics on Perceptions) 1965 Phương pháp hợp giải Robinson Ứng dụng logic mờ (fuzzy logic) suy luận đối tượng mờ (fuzzy object) Zadeh Xây dựng hệ chuyên gia nha khoa DENDRAL (Feigenbaum,Buchanan,et.al) 1968 Mạng ngữ nghĩa (semantic nets), mơ hình nhớ kết hợp (asociative memory model) Quillian 1969 Hệ chuyên gia toán học MACSYMA (Martin and Moses) 1970 Ứng dụng ngôn ngữ PROLOG(Colmerauser,Roussell,et,al.) 1973 Hệ chuyên gia MYCIN chuẩn trị y học (Shortli ffe,et,al.) 1975 Lý thuyết khung (frames), biểu diễn tri thức (knowledge reresentation ) (Mínky) 1976 Tốn nhân tạo (AM: Artificial Mathematician) (Lenat) Lý thuyết Dempster-Shafer tính hiển nhiên lập luận không chắn (Dempster-Shafer theory of Evidence for reason ubder uncertainty).Ứng dụng hệ chuyên gia PROSPECTOR khai thác hầm mỏ (Duda,Har) 1977 Sử dụng ngôn ngữ chuyên gia OPS( OPS expert system shell ) hệ chuyên gia XCON/R1 (Forgy) 1979 Thuật toán mạng so khớp nhanh (rete algorithm for fast pattern matching) Forgy; thương mại hóa ứng dụng trí tuệ nhân tạo 1980 Ký hiệu học (symbolics), Xây dựng máy LISP (LISP machines) từ LMI 1982 Hệ chuyên gia toán học (SMP math system ) ; mạng nơ-ron Hopfield (Hopfield neural net ); dự án xây dựng máy tính thơng minh hệ nhật (Japanese Fifth Generation Project to develop intelligent computers) 1983 Bộ công cụ phục vụ hệ chuyên gia KEE (KEE expert system tool ) (intrlli Corp ) Xây dựng hệ chuyên gia nhận dạng lồi vật Page 1985 Bộ cơng cụ phục vụ hệ chuyên gia CLIPS (CLIPS expert system tool (NASA) ĐẶC TRƯNG VÀ ƯU ĐIỂM HỆ CHUYÊN GIA Đặc trưng hệ chuyên gia: - Tách tri thức khỏi điều khiển: Thơng thường chương trình truyền thống khối điều khiển tri thức gắn liền với Điều gây khó khăn phát triển thay đổi chương trình Trong HCG, sở tri trức môtơ suy diễn độc lập với Điều giúp việc phát triển bảo trì HCG thuận lợi - Có tri thức chuyên gia: Một đặc tính quan trọng tri thức sử dụng HCG tri thức chuyên gia Các tri thức thu nhận mã hóa HCG Nó bao gồm tri thức lĩnh vực kỹ giải toán chuyên gia Thuật ngữ chuyên gia để người có kỹ giỏi giải toán đạt hiệu cao Họ bác sỹ, nhà kinh tế… - Tập trung nguồn chuyên gia: Hầu hết chuyên gia có kỹ giỏi giải tốn thuộc lĩnh vực họ Tuy nhiên chuyên gia khơng giải tốn khơng thuộc lĩnh vực họ HCG tương tự vậy, tinh thơng vấn đề huấn luyện, vấn đề bên ngồi khó có khả giải - Lập luận dựa ký hiệu: HCG biểu diễn tri thức dạng ký hiệu, ta sử dụng ký hiệu để biểu diễn nhiều dạng tri thức khác Chẳng hạn kiện, luật… - Lập luận may rủi: Các chuyên gia tinh thông việc sử dụng kinh nghiệm họ để giải toán xét cách hiệu Bằng kinh nghiệm mà họ hiểu vấn đề qua thực tế giữ dạng may rủi Các dạng may rủi điển hình chuyên gia giải vấn đề trường hợp: o Với vấn đề hỏng hóc xe, ln kiểm tra hệ thống điện o Hiếm người ta mặc áo bơng ngày o Nếu gặp ung bướu ln kiểm tra lịch sử gia đình bệnh nhân - Khả giải vấn đề bị hạn chế: Xây dựng hệ chuyên gia nhận dạng loài vật Page Trước dự án HCG bắt đầu, ta phải xác định xem vấn đề giải hay khơng Điều gây ngạc nhiên cho người bắt đầu tiếp xúc với HCG họ thấy TTNT giải tốn Nếu khơng có chun gia để giải vấn đề ta khó có hy vọng HCG giải tốt - Độ phức tạp toán: Các toán nên có độ phức tạp lập luận khơng q dễ dàng khơng q khó Nói chung nhiệm vụ dễ cần HCG giải phút khó đánh giá cơng sức HCG Vấn đề không phức tạp đến mức gây tình trạng khơng quản lý tầm chuyên gia Nếu vấn đề có độ phức tạp lớn cố gắng chia thành tốn nhỏ hơn, tốn ta giải HCG - Chấp nhận sai lầm: Người ta coi HCG giải vấn đề chuyên gia, tức chấp nhận hệ thống sai lầm Do HCG mắc sai lầm, ta thấy chương trình truyền thống có ưu HCG Tuy nhiên so sánh tổng thể người ta thấy số trường hợp HCG có lời giải sai lầm mang tính người xử lý thơng tin khơng xác, chí mâu thuẫn Một số lý HCG phát triển để thay chuyên gia là: • Hiệu cao (high performance) Khả trả lời mức độ tinh thông cao so với chuyên gia lĩnh vực • Thời gian trả lời thỏa đáng (adequate response time) Thời gian trả lời hợp lý, nhanh so với chuyên gia để đến định Hệ chuyên gia hệ thống thời gian thực(real time system ) • Độ tin cậy cao ( good reliability) Không thể xảy cố giảm sút độ tin cậy sử dụng • Dễ hiểu (understandable) Hệ chuyên gia giải thích bước suy luận cách dễ hiểu quán, khơng giống cách trả lời bí ẩn hộp đen (black box) • HCG thay chuyên gia nơi xa, nguy hiểm • Việc tự động hóa cơng việc dây chuyền cần đến HCG mà người đáp ứng • HCG khơng trợ giúp người bình thường mà hỗ trợ chun gia • Dùng lại tri thức chuyên gia chuyên gia khơng nhớ Những ưu điểm hệ chuyên gia: • Phổ cập (increased availability) Là sản phẩm chuyên gia, phát triển không ngừng với hiệu sử dụng khơng phủ nhận • Giảm giá thành (reduced cost) Xây dựng hệ chuyên gia nhận dạng loài vật Page 10 CHƯƠNG XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT SUY DIỄN TIẾN TRONG HỆ CHUYÊN GIA Có nhiều phương pháp tổng quát để suy luận chiến lược giải vấn đề hệ chuyên gia Những phương pháp hay gặp suy diễn tiến (forward chaining ), suy diễn lùi (backward chaining) phối hợp hai phương pháp (mixed chaining) Những phương pháp khác phân tích phương tiện (means-end analysis ), rút gọn vấn đề (problem reduction), quay lui (backtracking), kiểm tra lập kế hoạch (plan-geenerate-test), lập kế hoạch phân cấp (heirachical planning)… Sau giới thiệu phương pháp suy luận theo suy diễn tiến: Suy diễn tiến (forward charning) lập luận từ kiện, việc để rút kết luận Ví dụ: Nếu thấy trời mưa trước khỏi nhà (sự kiện) phải lấy áo mưa (kết luận) Trong phương pháp này, người sử dụng cung cấp kiện cho hệ chuyên gia để hệ thống (máy suy diễn) tìm cách rút kết luận Kết luận xem thuộc tính gán giá trị Trong số kết luận này, có kết luận làm người sử dụng quan tâm, số khác khơng nói lên điều gì, số khác vắng mặt Các kiện thường có dạng : Atthibute = value Lần lượt kiện sở tri thức chọn hệ thống xem xét tất luât mà kiện xuất tiên đề Theo nguyên tắc lập luận trên, hệ thống lấy luật thỏa mãn Sau gán giá trị cho thuộc tính thuộc kết luận tương ứng, người ta nói kiện thỏa mãn Các thuộc tính gán giá trị phần kết chuyên gia Sau kiện xem xét, kết xuất cho người sử dụng Xây dựng hệ chuyên gia nhận dạng loài vật Page 13 XÂY DỰNG HỆ CHUYÊN GIA NHẬN DẠNG LOÀI VẬT 1.1 Giới thiệu hệ chuyên gia nhận dạng loài vật Hệ chuyên gia nhận dạng loài vật trợ giúp người xác định lồi vật thơng qua đặc tính chúng Hệ thống dựa đặc tính lồi động vật sinh đẻ, cách thức hoạt động, giá tri chúng với người, vv… 1.2 Giao diện chương trình Giao diện chương trình Giao diện form luật Xây dựng hệ chuyên gia nhận dạng loài vật Page 14 Giao diện form kiện a Form kiện using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.IO; Xây dựng hệ chuyên gia nhận dạng loài vật Page 15 using System.Linq; using System.Text; using System.Windows.Forms; namespace HCG_NHOM8 { public partial class frmSuKien : Form { SuKien_BUS sk_bus = new SuKien_BUS(); Luat_BUS l_bus = new Luat_BUS(); static int vt; static String imFileName=""; static String imSource=""; String path = Path.GetFullPath(".");//duong dan public frmSuKien() { InitializeComponent(); getPath(); } public void getPath() { path = path.Substring(0, path.LastIndexOf(@"\")); path = path.Substring(0, path.LastIndexOf(@"\")); path += @"\" + "Image" + @"\"; } private void btthoat_Click(object sender, EventArgs e) { this.Close(); } private void frmSuKien_Load(object sender, EventArgs e) { comboBox1.SelectedIndex = 0; sk_bus.load(listView1); btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } private void btthem_Click(object sender, EventArgs e) { txtTenSK.Text = ""; txtNgunghia.Text = ""; btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBox1.SelectedIndex) { case 0: txtTenSK.Text = "a"+(sk_bus.findMaxIndex("a")+1); txtNgunghia.Text = ""; ptAnh.Visible = false; Xây dựng hệ chuyên gia nhận dạng loài vật Page 16 } listView1.Items.Clear(); sk_bus.showWithFindWord(listView1, "a"); break; case 1: txtTenSK.Text = "b" + (sk_bus.findMaxIndex("b") + 1); txtNgunghia.Text = ""; ptAnh.Visible = false; listView1.Items.Clear(); sk_bus.showWithFindWord(listView1, "b"); break; case 2: //MessageBox.Show txtTenSK.Text = "c" + (sk_bus.findMaxIndex("c") + 1); txtNgunghia.Text = ""; ptAnh.Visible = true; listView1.Items.Clear(); sk_bus.showWithFindWord(listView1, "c"); break; } private void btluu_Click(object sender, EventArgs e) { int n = comboBox1.SelectedIndex; if (!txtNgunghia.Text.Trim().Equals("")) { SuKien sukien = new SuKien(); sukien.Mask = txtTenSK.Text.Trim(); sukien.Tensukien = txtNgunghia.Text.Trim(); if (sukien.Mask.IndexOf("a") >= || sukien.Mask.IndexOf("b") >= 0) { sukien.Source = ""; if (MessageBox.Show("Bạn muốn Thêm Sự Kiện Này?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sk_bus.them(sukien); comboBox1_SelectedIndexChanged(sender, e); } } else if (sukien.Mask.IndexOf("c") >= 0)// trả số đầu tiền chuỗi { if (ptAnh.ImageLocation != null) if (!File.Exists(imFileName)) { File.Copy(imSource, imFileName); sukien.Source = imSource.Substring(imSource.LastIndexOf(@"\") + 1); if (MessageBox.Show("Bạn muốn Thêm Sự Kiện Này?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sk_bus.them(sukien); comboBox1_SelectedIndexChanged(sender, e); } } else MessageBox.Show("Ảnh Đã Tồn Tại!", "Thông Báo"); else if (ptAnh.ImageLocation == null) { sukien.Source = ""; if (MessageBox.Show("Bạn muốn Thêm Sự Kiện Này?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) Xây dựng hệ chuyên gia nhận dạng loài vật Page 17 { sk_bus.them(sukien); comboBox1_SelectedIndexChanged(sender, e); } } } } } else MessageBox.Show("Bạn Chưa Điền Đủ Thông Tin!","Thông Báo!"); private void bthuy_Click(object sender, EventArgs e) { comboBox1_SelectedIndexChanged(sender, e); } private void listView1_SelectedIndexChanged(object sender, EventArgs e) { } private void listView1_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { btthem.Enabled = true; btsua.Enabled = true; btxoa.Enabled = true; btluu.Enabled = false; bthuy.Enabled = false; btthoat.Enabled = true; vt = e.ItemIndex; txtTenSK.Text = listView1.Items[vt].SubItems[0].Text; txtNgunghia.Text = listView1.Items[vt].SubItems[1].Text; //MessageBox.Show(); switch (listView1.Items[vt].SubItems[0].Text.Trim()[0]) { case 'a': comboBox1.SelectedIndex = 0; break; case 'b': comboBox1.SelectedIndex = 1; //getPath(); //ptAnh.ImageLocation =path+ sk_bus.findSource(txtTenSK.Text.Trim()); break; case 'c': comboBox1.SelectedIndex = 2; getPath(); ptAnh.ImageLocation =path+ sk_bus.findSource(txtTenSK.Text.Trim()); break; } } private void btsua_Click(object sender, EventArgs e) { int n = comboBox1.SelectedIndex; if (!txtNgunghia.Text.Trim().Equals("")) { SuKien sukien = new SuKien(); sukien.Mask = txtTenSK.Text.Trim(); sukien.Tensukien = txtNgunghia.Text.Trim(); if (sukien.Mask.IndexOf("a") >= || sukien.Mask.IndexOf("b") >= 0) { Xây dựng hệ chuyên gia nhận dạng loài vật Page 18 sukien.Source = ""; if (MessageBox.Show("Bạn muốn sua su kien?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sk_bus.sua(sukien); comboBox1_SelectedIndexChanged(sender, e); btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } } else { if (!File.Exists(imFileName)) { File.Copy(imSource, imFileName); sukien.Source = imSource.Substring(imSource.LastIndexOf(@"\") + 1); if (MessageBox.Show("Bạn muốn sua su kien?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sk_bus.sua(sukien); comboBox1_SelectedIndexChanged(sender, e); btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } } else MessageBox.Show("Ảnh Đã Tồn Tại!", "Thông Báo"); } } } private void btxoa_Click(object sender, EventArgs e) { int n = comboBox1.SelectedIndex; if (!txtNgunghia.Text.Trim().Equals("")) { SuKien sukien = new SuKien(); sukien.Mask = txtTenSK.Text.Trim(); sukien.Tensukien = txtNgunghia.Text.Trim(); if (MessageBox.Show("Bạn muốn Xóa Sự Kiện?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { sk_bus.xoa(sukien); comboBox1_SelectedIndexChanged(sender, e); btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } } } Xây dựng hệ chuyên gia nhận dạng loài vật Page 19 private void ptAnh_Click(object sender, EventArgs e) { MessageBox.Show(Path.GetFullPath(".")); OpenFileDialog open = new OpenFileDialog(); open.Filter = open.Filter = "JPG file (*.jpg)|*.jpg|All File (*.*)|*.*"; open.FilterIndex = 1; open.RestoreDirectory = true; if (open.ShowDialog() == DialogResult.OK) { ptAnh.ImageLocation = open.FileName; path+= open.FileName.Substring(open.FileName.LastIndexOf(@"\") + 1); imSource = open.FileName; imFileName = path; } } } } b Form luật using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; namespace HCG_NHOM8 { public partial class frmLuat : Form { Luat_BUS l_bus = new Luat_BUS(); SuKien_BUS sk_bus = new SuKien_BUS(); static int vt; static String vtrai = ""; static String txtClick=""; static int vtListRuller; public frmLuat() { InitializeComponent(); } private void btthoat_Click(object sender, EventArgs e) { this.Close(); } public void load() { l_bus.load(listLuat); sk_bus.load(listSukien); btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } private void frmLuat_Load(object sender, EventArgs e) Xây dựng hệ chuyên gia nhận dạng loài vật Page 20 { load(); } private void btthem_Click(object sender, EventArgs e) { txtVT.Text = ""; txtVP.Text = ""; btthem.Enabled = true; btsua.Enabled = false; btxoa.Enabled = false; btluu.Enabled = true; bthuy.Enabled = true; btthoat.Enabled = true; } private void listSukien_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { vt = e.ItemIndex; } private void btvetrai_Click(object sender, EventArgs e) { if (txtVT.Text.Equals("")) txtVT.Text += listSukien.Items[vt].SubItems[0].Text; else txtVT.Text += "^" + listSukien.Items[vt].SubItems[0].Text; } private void bthuychon_Click(object sender, EventArgs e) { switch(txtClick) { case "VT": { String t = txtVT.Text; if (!t.Equals("")) { if (t.IndexOf("^") >= 0) { t = t.Substring(0, t.LastIndexOf("^")); txtVT.Text = t; } else if (t.IndexOf("^") < 0) txtVT.Text = ""; } } break; case "VP": { txtVP.Text = ""; } break; } } private void listSukien_SelectedIndexChanged(object sender, EventArgs e) { } Xây dựng hệ chuyên gia nhận dạng loài vật Page 21 private void btluu_Click(object sender, EventArgs e) { if (!txtVP.Text.Trim().Equals("") || !txtVT.Text.Trim().Equals("")) { Luat luat = new Luat(); luat.Maluat = "r" + (l_bus.findMaxIndexMaluat() + 1); luat.Vetrai = txtVT.Text.Trim(); luat.Vephai = txtVP.Text.Trim(); if (MessageBox.Show("Bạn muốn Thêm Luật?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { l_bus.them(luat); listLuat.Items.Clear(); load(); } } else MessageBox.Show("Bạn chưa Chọn Đủ Dữ Liệu"); } private void btvephai_Click(object sender, EventArgs e) { if (txtVP.Text.Trim().Equals("")) { String t = listSukien.Items[vt].SubItems[0].Text; if (t.Trim().IndexOf("a") < 0) txtVP.Text = t; else MessageBox.Show("Không Thể Thêm Vào Vế Phải","Thông Báo"); } else MessageBox.Show("Không Thể Thêm Vào Vế Phải Nữa!","Thông Báo!"); } private void listLuat_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { vtListRuller = e.ItemIndex; String luat=listLuat.Items[vtListRuller].SubItems[1].Text.Trim(); txtVT.Text = luat.Substring(0,luat.IndexOf("->")); txtVP.Text = luat.Substring(luat.IndexOf("->")+2); btthem.Enabled = true; btsua.Enabled = true; btxoa.Enabled = true; btluu.Enabled = false; bthuy.Enabled = false; btthoat.Enabled = true; } // private void btsua_Click(object sender, EventArgs e) { if (!txtVP.Text.Trim().Equals("") || !txtVT.Text.Trim().Equals("")) { Luat luat = new Luat(); luat.Maluat = listLuat.Items[vtListRuller].SubItems[0].Text.Trim(); luat.Vetrai = txtVT.Text.Trim(); luat.Vephai = txtVP.Text.Trim(); if (MessageBox.Show("Bạn Muốn Sửa Luật?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { l_bus.sua(luat); listLuat.Items.Clear(); Xây dựng hệ chuyên gia nhận dạng loài vật Page 22 load(); } } } else MessageBox.Show("Bạn Chưa Chọn Đủ Dữ Liệu!","Thông Báo!"); txtVP.Text = ""; txtVT.Text = ""; private void txtVT_Click(object sender, EventArgs e) { txtClick = "VT"; } private void txtVP_Click(object sender, EventArgs e) { txtClick = "VP"; } private void bthuy_Click(object sender, EventArgs e) { } private void btxoa_Click(object sender, EventArgs e) { Luat luat = new Luat(); luat.Maluat = listLuat.Items[vtListRuller].SubItems[0].Text.Trim(); if (MessageBox.Show("Bạn muốn Xóa Luật?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { l_bus.xoa(luat); listLuat.Items.Clear(); load(); } txtVP.Text = ""; txtVT.Text = ""; } private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { switch (comboBox1.SelectedIndex) { case 0: listSukien.Items.Clear(); sk_bus.showWithFindWord(listSukien, "a"); break; case 1: listSukien.Items.Clear(); sk_bus.showWithFindWord(listSukien, "b"); break; case 2: listSukien.Items.Clear(); sk_bus.showWithFindWord(listSukien, "c"); break; } } private void listLuat_SelectedIndexChanged(object sender, EventArgs e) { } Xây dựng hệ chuyên gia nhận dạng loài vật Page 23 } } c Class Luật using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks; namespace HCG_NHOM8 { class Luat { String maluat, vephai, vetrai; public String Vetrai { get { return vetrai; } set { vetrai = value; } } public String Vephai { get { return vephai; } set { vephai = value; } } public String Maluat { get { return maluat; } set { maluat = value; } } } } d Class kiện using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks; namespace HCG_NHOM8 { class SuKien { String mask, tensukien, source; public String Source { get { return source; } set { source = value; } } public String Tensukien { Xây dựng hệ chuyên gia nhận dạng loài vật Page 24 } get { return tensukien; } set { tensukien = value; } public String Mask { get { return mask; } set { mask = value; } } } } Xây dựng hệ chuyên gia nhận dạng loài vật Page 25 KẾT LUẬN  Kết Chương trình thực chức năng: nhận dạng lồi vật chọn từ kiện Chương trình đáp ứng yêu cầu cần thiết sử dụng người dùng, thiết kế với giao diện đẹp thân thiện với người dùng  Hạn chế Thế giới lồi vật rộng lớn nên chương trình nhiều hạn chế: số lượng tập luật hạn chế, số chương trình chưa hoạt động tốt cần khắc phục Xây dựng hệ chuyên gia nhận dạng loài vật Page 26 TÀI LIỆU THAM KHẢO Bài giảng hệ chuyên gia_ThS Lê Thị Thủy Giáo trình hệ chuyên gia_Trần Hùng Cường http://vi.wikipedia.org/wiki/Động_vật/ http://123doc.vn/document/16792-thuat-toan-giai-bai-toan-suy-dien-tien.htm Xây dựng hệ chuyên gia nhận dạng loài vật Page 27 ... VỀ HỆ CHUYÊN GIA 1.HỆ CHUYÊN GIA LÀ GÌ? 2.THÀNH PHẦN CỦA HỆ CHUYÊN GIA .6 3.LỊCH SỬ PHÁT TRIỂN HỆ CHUYÊN GIA 4.ĐẶC TRƯNG VÀ ƯU ĐIỂM HỆ CHUYÊN GIA ... KHẢO 27 Xây dựng hệ chuyên gia nhận dạng loài vật Page CHƯƠNG 1: TỔNG QUAN VỀ HỆ CHUYÊN GIA HỆ CHUYÊN GIA LÀ GÌ? Theo E.Feigenbaum: Hệ chuyên gia (Expert System) chương trình máy tính... (Dempster-Shafer theory of Evidence for reason ubder uncertainty).Ứng dụng hệ chuyên gia PROSPECTOR khai thác hầm mỏ (Duda,Har) 1977 Sử dụng ngôn ngữ chuyên gia OPS( OPS expert system shell ) hệ chuyên gia

Ngày đăng: 10/11/2017, 09:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w