CHƯƠNG 2: ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT

Một phần của tài liệu Tiểu luận môn biểu diễn tri thức và suy luận ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT (Trang 35)

- Funcs là một tập các hàm Rules là một tập các luật.

CHƯƠNG 2: ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT

BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT

Mô tả chương trình Mô tả

Cũng giống như bài toán xử lý ngôn ngữ tự nhiên hay bài toán tam giác, bài toán về điều chế hóa chất cũng khá điển hình về ứng dụng mạng ngữ nghĩa để biểu diễn trí thức.

Ý tưởng của chương trình là xem hóa chất là các nút, còn các phương trình là các cạnh. Để điều chế một hóa chất, ta sẽ đi từ đỉnh chứa hóa chất đầu vào, “men” theo các cạnh là các phương trình thích hợp, cho đến khi gặp hóa chất đầu ra. Danh sách phương trình là có sẵn trong cơ sở dữ liệu, có thể mở rộng tùy ý, danh sách hóa chất đầu vào và đầu ra do người dùng chọn trên form.

Giao diện

Giao diện gồm 4 thành phần chính:

• Chọn chất ban đầu: Người dùng có thể chọn một hoặc nhiều hóa chất ở danh sách hóa chất bên dưới để làm hóa chất đầu vào cho việc điều chế.

• Chất cần điều chế: Chất mà bạn muốn điều chế được.

• Danh sách phương trình phản ứng: Chương trình sẽ áp dụng tất cả các phương trình phản ứng, cộng với hóa chất đầu vào để điều chế hóa chất mong muốn. • Kết quả của quá trình điều chế: Mô tả các lần điều chế để ra hóa chất mà bạn

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

Cấu trúc chương trình

Cấu trúc chương trình như sau:

• Formchinh.cs: Đây là class giao diện của chương trình, chứa lệnh thực thi của nút “Tiến hành điều chế”.

• Hoachat: Class đơn giản mô tả về hóa chất, có Name (tên) và các phương thức cơ bản.

• Phuongtrinh: Class mô tả về đối tượng phương trình, class này chứa 2 list đối tượng Hoachat, ở bên trái phương trình và bên phải phương trình.

• Program: Class main, dùng để khởi động và chạy chương trình.

• Dieuche: Class xử lý chính của chương trình, chứa các thao tác duyệt hóa chất đầu vào, duyệt hóa chất đầu ra, duyệt danh sách phương trình sẵn có, sau đó chọn đường đi từ hóa chất đầu vào đến đầu ra, xuất về kết quả.

Hình 2.2 Cấu trúc của chương trình

Mô tả giải thuật

Giải thuật chính nằm trong class Dieuche, các phương thức chính bao gồm: Hàm Init: Duyệt thông tin trên form, tạo ra danh sách hóa chất nguồn và đích. public void Init(string initChemical,string desChemical)

{

this.initChemical.Clear(); Reset();

string[] temp = initChemical.Split(' '); foreach (var item in temp)

{

Hoachat i = new Hoachat(item); { this.initChemical.Add(i); try { chemicals[item] = 1; } catch { MessageBox.Show("a"); } }

this.desChemical = new Hoachat(desChemical); }

Hàm Solve(): Từ danh sách hóa chất nguồn và đích, duyệt trong danh sách các phương trình để tìm phương trình thích hợp.

public void Solve() { bool c; do { c = false; process = "";

foreach (var item in equation) {

if (CheckCondition(item)) {

process += "Từ phương trình : " + item ; foreach (var x in item.right) (adsbygoogle = window.adsbygoogle || []).push({});

{

chemicals[x.Name] = 1;

}

transform(process);

process = "Ta điều chế được : ";

process += String.Join(" , ",item.right); c = true; transform(process); process = ""; transform(process); } if(chemicals[desChemical.Name] != -1)

return ; }

} while (c);

process = "Không đủ nguyên liệu để điều chế ..."; transform(process);

Một phần của tài liệu Tiểu luận môn biểu diễn tri thức và suy luận ỨNG DỤNG MẠNG NGỮ NGHĨA VÀO BÀI TOÁN ĐIỀU CHẾ HÓA CHẤT (Trang 35)