Tải bản đầy đủ - 0 (trang)
Giới thiệu về hệ chuyên gia chuẩn đoán bênh tim

Giới thiệu về hệ chuyên gia chuẩn đoán bênh tim

Tải bản đầy đủ - 0trang

E1

E2

F1

F2

G1

G2

H1

H2

H3

H4

H5

I

K1

K2

K3

K4

K5

K6

K7

K8

L1

L2

L3

M

N1

N2

N3

N4

N5

O1

O2

O3

O4

O5

O6

O7

O8

O9

P1

P2



Đột ngột nói khó khăn

Bị lẫn

Mất ngủ

Mất ngủ lúc nửa đêm vì đau

Khó tập trung

Cảm giác lồng ngực bị nén ép nóng ran

Tím da

Da vã mồ hơi

Da xanh xao và lạnh

Da nhăn và khơ

Da tái nhợt

Viên phế quản

Mệt mỏi

Chóng mặt

Mất ý thức đột ngột

Nhức đầu

Chống váng

Đuối sức

Co giật

Lo âu

Buồn nơn

Tiêu chảy

Suy giảm khả năng tình dục

Tim lớn một cách đột ngột

Có tiếng đập bất thường

Ho ra máu

Ho khan

Ho khò khè tái đi tái lại

Ho về đêm

Đi lại khó khăn

Yếu hay liệt ở mặt

Phù bàn chân cẳng chân

Cơn đau kéo dài

Rung nhĩ

Phù tồn thân

Chậm lên cân, sút cân

Sưng cơ chân

Bị tím mơi, đầu ngón tay, ngón chân

Gan to và đau

Suy dinh dưỡng



27



 Danh sách tập luật (file Rules.txt)

Mã luật

R0

R1

R2

R3

R4

R5

R6

R7

R8

R9

R10

R11

R12

R13

R14

R15

R16

R17

R18

R19

R20

R21

R22

R23

R24

R25

R26

R27

R28

R29

R30

R31

R32

R33

R34

R35



Nội dung luật

K2 ^ D1 ^ L1 ^ H5 -> KL1

K1 ^ K2 ^ K5 ^ D1 ^ K6 -> KL2

C2 ^ KL2 -> KL3

K1 ^ G2 ^ C2 -> KL4

KL4 ^ KL3 ^ N2 -> KL5

KL3 ^ D1 ^ K1 ^ KL2 -> KL6

KL3 ^ C2 ^ P1 ^ KL2 -> KL7

H2 ^ H3 ^ H5 -> KL8

O8 ^ O1 ^ O3 -> KL9

O9 ^ KL8 ^ KL1 -> KL10

L2 ^ F1 ^ O7 -> KL11

N1 ^ K8 ^ C2 ^ C3 -> KL12

KL3 ^ B2 ^ KL4 ^ C4 -> KL13

KL2 ^ KL13 -> KL14

E1 ^ D2 -> KL15

E2 -> KL16

G1 -> KL17

C1 ^ D1 ^ KL17 -> KL18

K1 ^ K6 ^ C2 -> KL19

N4 ^ H3 -> KL20

KL14 ^ C1 -> KL21

KL5 ^ N1 -> KL22

KL5 ^ O5 -> KL23

I ^ O5 -> KL24

KL6 ^ O5 ^ C2 -> KL25

H1 ^ O6 -> KL26

KL5 ^ KL4 -> KL27

KL3 ^ K3 ^ KL2 ^ O3 ^ KL8 ^ L2 -> KL28

KL9 ^ KL8 ^ K7 -> KL29

KL4 ^ N3 ^ KL2 ^ KL10 -> KL30

KL2 ^ KL8 ^ KL11 ^ KL12 -> KL31

KL14 ^ KL3 ^ KL8 ^ L1 ^ KL1 ^ B1 -> KL32

KL2 ^ F1 ^ O4 ^ KL4 -> KL33

KL15 ^ KL16 ^ O2 ^ B3 -> KL34

KL14 ^ F2 -> KL35

K1 ^ KL18 ^ M -> KL36



28



R36

R37

R38

R39



KL16 ^ KL19 ^ N1 -> KL37

KL19 ^ KL12 -> KL38

KL20 ^ C3 ^ P2 -> KL39

K1 ^ KL17 ^ KL18 ^ H4 ^ L3 -> KL40



 Mô tả kết luận (file MoTaKetLuan.txt)

Mã kết luận

KL1

KL2

KL3

KL4

KL5

KL6

KL7

KL8

KL9

KL10

KL11

KL12

KL13

KL14

KL15

KL16

KL17

KL18

KL19

KL20

KL21

KL22

KL23

KL24

KL25

KL26

KL27

KL28

KL29

KL30

KL31

KL32



Nội dung kết luận

Hôn mê

Tim đập nhanh

Đau giữa ngực

Khó thở nặng dần khi gắng sức

Phù phổi

Ngất

Tím da

Sốt

Sưng khớp

Ran ẩm rải rác đáy phổi

Sút cân

Đánh trống ngực

Nhịp tim nhanh

Rối loạn nhịp tim

Tăng áp động mạch phổi

Mất ý thức

Suy giảm nhận thức sa sút trí tuệ

Tắc dòng máu

Sức khỏe suy giảm

Viêm phổi

NHỒI MÁU CƠ TIM

HẸP VAN ĐỘNG MẠCH CHỦ

HỞ VAN HAI LÁ

HẸP VAN HAI LÁ

SA VAN HAI LÁ

SUY TIM PHẢI

SUY TIM TRÁI

VIÊM CƠ TIM

THẤP TIM

SUY TIM TÂM TRƯƠNG

U TRONG TIM

NHỒI MÁU CƠ TIM



29



KL33

KL34

KL35

KL36

KL37

KL38

KL39

KL40



ĐỘNG MẠCH VÀNH

ĐỘT QUỴ

CƠN ĐAU THẮT LƯNG

CAO HUYẾT ÁP

TRỤY TIM

LOẠN NHỊP TIM

TIM BẨM SINH

HUYẾT ÁP THẤP



2. Giao diện chương trình

 Giao diện mở đầu chạy chương trình



30



 Giao diện chính

 Giao diện chuẩn đốn bệnh



31



 Giao diện thực hiện chuẩn đoán bệnh



 Giao diện đăng nhập vào hệ thống



32





Giao diện quản lý sự kiện



 Giao diện quản lý tập luật



33





Giao

diện giới thiệu chương trình

3. Code mã chương trình

 Code class Process

using

using

using

using

using

using

using

using



System;

System.Collections.Generic;

System.Linq;

System.Text;

System.Threading.Tasks;

System.IO;

System.Data;

System.Text.RegularExpressions;



namespace ChuanDoanBenhTim.Common

{

class Process

{

#region Field

///

/// khai báo RULE dạng bảng,Bảng RULE có 2 cột là id (R0,R1,R2.......) và các luật suy diễn

(vd: K2 ^ D1 ^ L1 ^ H5 -> KL1,....)

///




34



protected DataTable RULE;

public string view;

protected List GT;

///

/// khai báo KL_table dạng bảng, bảng KL_table gồm 1 cột chứa kết luận (K1,K2,K3......)

///


private DataTable KL_table;

protected DataTable RULE1

{

get { return RULE; }

set { RULE = value; }

}

public List GT1

{

get { return GT; }

set { GT = value; }

}

public DataTable KL_table1

{

get { return KL_table; }

set { KL_table = value; }

}

public Process()

{

GT = new List();

RULE = new DataTable();

KL_table = new DataTable();

}

public Process(DataTable rule_table)

{

RULE = rule_table;

}

public Process(List gt, DataTable kl, DataTable rule_table)

{

RULE = rule_table;

GT = gt;

KL_table = kl;

}

#endregion Field

#region Method

public List get_rule()

{

List rules = new List();

for (int i = 0; i < RULE.Rows.Count; i++)

{



35



Rules rule = new Rules();

string str = RULE.Rows[i][1].ToString();

Regex RE = new Regex(@" -> ");

string[] r;

r = RE.Split(trim(str));

rule.Index = i;

Regex RE1 = new Regex(@" \^ ");

rule.Left.AddRange(RE1.Split(r[0]));

Regex RE2 = new Regex(@" ");

rule.Right.AddRange(RE2.Split(r[1]));

rule.Used = false;

rules.Add(rule);

}

return rules;

}

///

/// hàm lấy danh sách tập các kết luận trong bảng KL_table

///


///

public List get_KL()

{

List KL = new List();

int i = 0;

while (i < KL_table.Rows.Count)

{

KL.Add(KL_table.Rows[i][0].ToString());

i++;

}

return KL;

}

///

/// hàm lọc các luật khả dụng

///


/// danh sách luật

/// danh sách các sự kiện trong tập trung gian

///

public List LOC(List rules, List TG)

{

bool chk;

List LOC_rules = new List();

for (int i = 0; i < rules.Count; i++)

{

if (rules[i].Used == false)

{

chk = true;

for (int j = 0; j < rules[i].Left.Count; j++)

if (TG.Contains(rules[i].Left[j].ToString())) chk = chk && true;

else chk = chk && false;

if (chk)

{

LOC_rules.Add(rules[i]);

}

}

}



36



return LOC_rules;

}

///

/// hàm lấy ra 1 luật để thực hiện việc suy diễn

///


/// danh sách kết luận trong tập SAT

///

public Rules get_one_rule(List SAT)

{

int i = 0;

while (i < SAT.Count)

{

if (SAT[i].Used == false)

{

SAT[i].Used = true;

break;

}

i++;

}

return SAT[i];

}

///

/// hàm bổ sung vế phải của luật vào tập cuối tập TG

///


///

///

public void TG_union_right(Rules rule, List TG)

{

for (int i = 0; i < rule.Right.Count; i++)

if (!TG.Contains(rule.Right[i])) TG.Add(rule.Right[i]);

}

///

/// hàm kiểm tra tập SAT

///


/// danh sách tập SAT

///

public bool check_SAT(List SAT)

{

if (SAT.Count == 0) return false;

for (int i = 0; i < SAT.Count; i++)

if (!SAT[i].Used) return true;

return false;

}

///

/// hàm kiểm tra tập TG có chứa KL hay không

///


/// danh sách tập TG

/// Danh sách tập KL

///

public int check_KL(List TG, List KL)

{

for (int i = 0; i < KL.Count; i++)

if (TG.Contains(KL[i])) return i;

return -1;



37



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Giới thiệu về hệ chuyên gia chuẩn đoán bênh tim

Tải bản đầy đủ ngay(0 tr)

×