1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế hệ chuyên gia tư vấn tuyển sinh

21 968 5

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 822 KB

Nội dung

Hầu hết mọi người trong chúng ta đều trải qua những năm tháng học tập trong các trường phổ thông. Khi rời ghế nhà trường, ai cũng phải tính đến việc tìm cho mình một nghề để học và làm, tạo cho mình có một cuộc sống tự lập.

Trang 1

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 2

I.Phân công công việc: 3

II Phân tích bài toán: 4

1.Mục đích bài toán: 4

2 Cách thực hiện: 4

III Cấu trúc dữ liệu và cách biểu diễn các trạng thái của bài toán 8 IV Các thuật toán được sử dụng 11

V Ngôn ngữ được sử dụng: 14

VI Một số giao diện và kết quả chạy chương trình: 15

Giao diện chính chương trình: 15

Giao diện chạy chương trình: 16

Quản lý file TEXT 17

Giao diện kết quả: 18

VII Tài liệu tham khảo: 19

Trang 3

-LỜI MỞ ĐẦU

Hầu hết mọi người trong chúng ta đều trải qua những năm tháng học tậptrong các trường phổ thông Khi rời ghế nhà trường, ai cũng phải tính đến việc tìmcho mình một nghề để học và làm, tạo cho mình có một cuộc sống tự lập Chọnnghề là một việc không đơn giản: Bạn chọn nghề gì? Liệu bạn có đủ điều kiệntheo đuổi nghề đó không? Bạn có yêu nghề đó và mãi mãi gắn bó với nó không?v.v… Những câu hỏi như vậy không dễ trả lời

Trong bất kỳ hoạt động nào, yếu tố con người luôn là yếu tố quan trọngquyết định sự thành công hay thất bại Chính vì thế, vấn đề nguồn nhân lực luônluôn được đặt lên hàng đầu Với một vị trí và công việc thích hợp, con người cóthể phát huy được tất cả những ưu điểm của mình

Chọn cho mình một nghề nghĩa là chọn cho mình một tương lai Việc chọnnghề thực sự quan trọng và vô cùng cần thiết Chọn sai lầm một nghề nghĩa là đặtcho mình một tương lai không thực sự an toàn và vững chắc Cùng với những nỗlực của mình, chúng tôi hy vọng website sẽ là người bạn đồng hành đáng tin cậycủa các bạn học sinh trong quá trình học tập, chọn nghề hiện nay, trong việc họcnghề và hành nghề sau này

Xuất phát từ nhu cầu thực tế, chúng tôi đã chọn đề tài: Xây dựng hệ chuyên

gia tư vấn hướng nghiệp Trong phần mềm này, chúng tôi cung cấp cho bạn một

số câu hỏi Tư vấn hướng nghiệp dưới dạng trắc nghiệm Hy vọng những nội dung

tư vấn này sẽ là tài liệu tham khảo bổ ích giúp bạn gợi mở nhận thức và giải pháptrong định hướng nghề nghiệp, trong việc thi tuyển, học nghề và lập nghiệp

Chúng em xin chân thành cảm ơn thày giáo Trần Hùng Cường đã hướngdẫn chúng em hoàn thành đề tài này

Do còn thiếu kinh nghiệm nên chương trình của chúng tôi không thể tránhđược những thiếu sót Mong nhận được sự góp ý của thày giáo và các bạn đểchương trình được hoàn thiện hơn

Hà Nội, ngày 15 tháng 8 năm 2010

Trang 4

Nhóm thực hiện

I.Phân công công việc:

Nhận được đề tài, nhóm xác định các công việc cần thực hiện như sau:

- Tìm hiểu đề tài, phân tích bài toán, cách xây dựng hệ chuyên gia

- Thu thập tài liệu

- Nghiên cứu tài liệu

- Lập trình, cài đặt, kiểm thử

- Hoàn thiện, viết báo cáo

Nhóm dự kiến chi tiết thời gian thực hiện như sau:

C Công việc Thực hiện Thời gian

Tìm hiểu đề tài, phân tích bài

toán

Cả nhóm 1 tuần

Thu thập tài liệu Cả nhóm 4 ngày

Nghiên cứu tài liệu Cả nhóm 1 tuần

Lập trình, cài đặt, kiểm thử Cả nhóm 10 ngày

Hoàn thiện, viết báo cáo Cả nhóm 2 ngày

Trang 5

II Phân tích bài toán:

1.Mục đích bài toán:

Nhóm xây dựng chương trình Hệ chuyên gia tư vấn hướng nghiêp với mụcđích sẽ cung cấp được một số thông tin cơ bản về công tác hướng nghiệp,những chỉ dẫn cần thiết trong việc lựa chọn nghề nghiệp cho bản thân, giớithiệu khái quát các lĩnh vực ngành nghề trong xã hội v.v… Chương trình cũng cung cấp những bài viết hướng dẫn kỹ thuật thực hànhmột số nghề dành cho những người không có điều kiện học qua trường lớpnhưng muốn tự tạo cho mình một công việc tuỳ theo sở thích, điều kiện sốngcũng như khả năng tài chính của mình

2 Cách thực hiện:

Chương trình được thực hiện dưới hình thức đưa ra các câu hỏi trắc nghiệm

và người sử dụng sẽ lựa chọn mức độ cho từng câu hỏi (độ chắc chắn (CF)) Sau

đó, dựa vào lý thuyết độ chắc chắn ta sẽ tính được mức độ chắc chắn đối với từngnghề nghiệp Nghề nghiệp nào có độ chắc chắn lớn nhất thì sẽ phù hợp với người

sử dụng nhất

MB (Measure of Belief in): độ đo sự tin cậy

MD (Measure of Disbelief in) : độ đo sự tin không tin cậy

CF (Certainly Factor): hệ số chắc chắn

Gọi: - MB(H/E) là độ đo sự tin cậy của giả thiết H khi có chứng cứ E

-MD(H/e) là độ đo sự không tin cậy của giả thiết H khi có chứng cứ E.Khi đó: 0 < MB(H/E) < 1 trong khi MD(H/E) = 0

0 < MD(H/E) < 1 trong khi MBs(H/E)=0

Độ đo chắc chắn CF(H/E) được tính bằng công thức:

CF(H/E) = MB(H/E) – MD(H/E)

a Luật đơn giản: if (e) then (c)

Trang 6

CF(e) là độ đo chắc chắn của chứng cớ.

CF(r) là độ đo chắc chắn của luật suy diễn.

Khi đó: CF(c) là độ đo chắc chắc của kết luận sẽ được tính bằng công thức:

CF(c) = CF(e) * CF(r)

b Công thức độc lập: (kết hợp nhiều luật có cùng kết luận)

Luật 1: IF (e1) THEN (c) với CF(r1) là độ đo chắc chắn của luật 1

Luật 2: IF (e2) THEN (c) với CF(r2) là độ đo chắc chắn của luật 2

- Nếu CF(r1) và CF(r2) đều dương thì:

Hệ sẽ đưa ra tất cả các luật với những ngành nghề mà người dùng lựa chọn,

từ đó, người dùng sẽ lựa chọn mức độ của mình đối với từng luật đó Đây chính là

độ chắc chắn của chứng cớ CF(e) Trong chương trình đã có độ chắc chắn của luậtsuy diễn CF(r) Từ đây ta sẽ tính được độ chắc chắn của kết luận CF(c) dựa vào cáccông thức tính độ đo sự chắc chắn dựa trên mạng suy diễn sau:

Trang 7

Sử dụng công thức tính như sau:

If (e1) then c với CF(r1)

If (e2) then c với CF(r2)

If (en) then c với CF(r3)

Vì chỉ có công thức tính với 2 giả thiết :

If (e1) then c

If (e2) then c

Nên ta sẽ tính dần từng cặp đôi 1

If (e1) then c với CF(r1)

IF(e2) then c với CF(r2)

Cuối cùng chỉ còn một cặp đôi I và II và ta tính theo công thức:

- Với CF(I) và CF(II) là CF của kết luận 1 và 2, khi CF(I) và CF(II) đều dương thì:

Ctổng = CF(I) + CF(II) – CF(I) * CF(II)

Trang 8

- Khi CF(I) và CF(II) đều âm thì:

Ctổng = CF(I) + CF(II) + CF(I) * CF(II)

- Nếu CF(I) khác dấu CF(II) thì:

Sau khi tính được độ chắc chắn của kết luận, so sánh đọ chắc chắn của cáckết luận lấy độ chắc chắn lớn nhất Dựa vào đó, hệ thống sẽ đưa ra thông báo tớingười dùng ngành nghề nào sẽ phù hợp với họ

Trang 9

III Cấu trúc dữ liệu và cách biểu diễn các trạng thái của bài toán

Bài toán sử dụng các đối tượng Nút, Luật, Kết luận

- Cấu trúc của đối tượng Nút:

Ví dụ:

e1:Tính tự lập, đầu óc thực tế

Trong đó: e1: là mã nút

Tính tự lập, đầu óc thực tế: là tên nút

Các thuộc tính: - getMaNut: để lấy mã nút.

- getTenNut: để lấy tên nút.

- getCFNut: để lấy độ chắc chắn của nút.

Hàm: - addCF: thêm độ chắc chắn của nút.

- Cấu trúc của đối tượng Luật:

Ví dụ: r1 e1->c1:0.9

Trong đó: r1: là mã luật

Trang 10

e1: là mã nút c1: là mã kết luận 0.9: là độ chắc chắn của chứng cớ.

Các thuộc tính: - getCFLuat: để lấy CF của luật

- getMaKetLuanLuat: để lấy mã kết luận

- getMaLuat: để lấy mã luật

- getmaNutluat: để lấy mã nút

- getTenLuat: để lấy tên luật

Trang 11

- Cấu trúc của đối tượng

Ví dụ: c1:Thực tế như Kỹ thuật, nông nghiệp, thuỷ lợi, dầu khí…

- getMaKetLuan: để lấy mã kết luận

- getTenKetLuan: để lấy tên kết luận

Hàm:

- addCFTong: để tính CF tổng cho mỗi kết luận

Trang 12

IV Các thuật toán được sử dụng

Chương trình sử dụng các hàm:

- loadNut: để lấy dữ liệu từ file Nut.txt ra class Nut.cs

public void loadNut()

{

{

Trang 13

- Áp dụng lý thuyết về độ chắc chắn CF

private void butTinhToan_Click( object sender, EventArgs e)

{

try {

loadKetLuan(); loadLuat(); textBoxX1.Text = "" ; textBoxX3.Text = "" ; txtMoTa.Text = "" ; foreach ( Luat bienLuat in listLuat) {

foreach ( Nut bienNut in listNut) {

if (bienNut.getMaNut == bienLuat.getmaNutluat) {

bienLuat.getCFLuat = bienLuat.getCFLuat * bienNut.getCFNut * 0.1F; }

}

}

float cFTam; int i; foreach ( KetLuan bienKetLuan in listKetLuan) {

cFTam = 0; i = 0; foreach ( Luat bienLuat in listLuat) {

if (bienLuat.getMaKetLuanLuat == bienKetLuan.getMaKetLuan) {

cFTam += bienLuat.getCFLuat - cFTam * bienLuat.getCFLuat; i++;

}

}

if (i == 0) {

bienKetLuan.addCFTong(0.0F); }

else {

bienKetLuan.addCFTong(cFTam); }

textBoxX1.Text += bienKetLuan.getTenKetLuan + ": " + bienKetLuan.getCFTong + "; " ; }

Trang 14

Theo dữ liệu bạn nhập vào, \r\n chúng tôi khuyên bạn nên chọn \r\n nhóm ngành:" ;

Trang 15

V Ngôn ngữ được sử dụng:

Chương trình được viết bằng ngôn ngữ C# bởi vì đây là một ngôn ngữ trựcquan, dễ sử dụng Sử dụng giao diện được viết bằng Window Form nên quenthuộc với hầu hết người sử dụng máy tính

Trang 16

VI Một số giao diện và kết quả chạy chương trình:

Giao diện chính chương trình:

Trang 17

Giao diện chạy chương trình:

Trang 19

Quản lý file TEXT

Trang 20

Giao diện kết quả:

Trang 21

VII Tài liệu tham khảo:

- Giáo trình Hệ chuyên gia

- Các hệ cơ sở tri thức

- Một số trang web

Ngày đăng: 16/08/2014, 20:19

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w