HCMTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN Phan Hữu Phước – CH1301106 TIỂU LUẬN CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG GIẢI BÀI TOÁN HÓA HỌC VÔ CƠ BẰNG THUẬT TOÁN METAHEURISTIC TRÊN MẠNG TÍNH TOÁN GI
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Phan Hữu Phước – CH1301106
TIỂU LUẬN
CÔNG NGHỆ TRI THỨC VÀ ỨNG DỤNG
GIẢI BÀI TOÁN HÓA HỌC VÔ CƠ BẰNG THUẬT TOÁN METAHEURISTIC TRÊN MẠNG TÍNH TOÁN
GIẢNG VIÊN: GS.TSKH Hoàng Văn Kiếm
TP HỒ CHÍ MINH – 11/2014
Trang 2I VẤN ĐỀ 2
II MÔ HÌNH HÓA 2
II.1 Khái niệm mạng tính toán 2
II.2 Mô hình hóa vấn đề 2
III Ý TƯỞNG 3
IV HÀM HEURISTIC 3
V GIẢI THUẬT 4
VI TÍNH ĐÚNG ĐẮN 5
VII ĐỘ PHỨC TẠP 5
VIII CẢI THIỆN 5
IX DEMO 6
X TÀI LIỆU THAM KHẢO 6
Trang 3Công nghệ tri thức và ứng dụng CH1301106 – Phan Hữu Phước
I VẤN ĐỀ
Từ các phản ứng có sẵn, cho trước một số chất ban đầu Hỏi có thể điều chế được một chất theo yêu cầu hay không và cho biết các phản ứng nào được sử dụng trong quá trình điều chế
Ví dụ:
Cho trước Na, Cl2, AgNO3 Yêu cầu điều chế NaNO3
Giải
1 Suy luận:
Na + Cl2 -> NaCl
NaCl + AgNO3 -> NaNO3 + AgCl
2 Kết luận: Điều chế được
II MÔ HÌNH HÓA
II.1 Khái niệm mạng tính toán
Mạng tính toán là một mô hình được biểu diễn bởi 2 thành phần <M,F> Trong đó:
M: tập hợp các biến
F: tập hợp các quan hệ tính toán
Trong vấn đề của bài tiểu luận này thì:
F: danh sách các phản ứng hóa học (dsphanung) Mỗi phản ứng được xem
là một quan hệ
M: tập hợp các chất (được suy ra từ dsphanung) Mỗi chất được xem là một biến
II.2 Mô hình hóa vấn đề
Danh sách các phản ứng:
Na + Cl2 = NaCl
Fe + Cl2 = FeCl3
Cu + Cl2 = CuCl2
Cl2 + H2O = HCl + HClO
MnO2 + HCl = MnCl2 + Cl2 + H2O
Trang 4HCl + KMnO4 = KCl + MnCl2 + H2O + Cl2
AgNO3 + NaCl = NaNO3 + AgCl
Danh sách các chất ban đầu: Na, Cl2, AgNO3
Theo mô hình mạng tính toán thì:
M= { Na; Cl2; AgNO3 }
F= { Na + Cl2 = NaCl; Fe + Cl2 = FeCl3;Cu + Cl2 = CuCl2;
Cl2 + H2O = HCl + HClO; MnO2 + HCl = MnCl2 + Cl2 + H2O;
HCl + KMnO4 = KCl + MnCl2 + H2O + Cl2; AgNO3 + NaCl = NaNO3 + AgCl }
Cho f F
f(L): tập hợp các chất ở vế trái của f
f(R): tập hợp các chất ở vế phải của f
K(f): trạng thái kích hoạt của f Nếu f chưa được kích hoạt thì K(f)=false, ngược lại thì K(f)=true
C(f): Số lượng các chất ở vế trái của f
Nếu K(f)=true và f(L) M thì M = M f(R)
III Ý TƯỞNG
Tìm phản ứng chưa được kích hoạt và có vế trái chưa trong tập hợp các chất đã biết
Bổ sung các chất vế phải của phản ứng vào tập các chất đã biết và đánh dấu f đã được kích hoạt
Ưu tiên (Heuristic):
Phản ứng có ít chất ở vế trái
Phản ứng có vế phải chứa chất cần điều chế
U(f): giá trị ưu tiên của f trong quá trình giải bài toán U(f) càng nhỏ thì càng được ưu tiên
IV HÀM HEURISTIC
Input
F: tập hợp các phản ứng
Trang 5Công nghệ tri thức và ứng dụng CH1301106 – Phan Hữu Phước
G: chất cần điều chế
Output
F = {fi} đã được sắp xếp tăng dần theo U(fi)
Thuật giải
B0: U(f)=R(f); UT=1; Sắp xếp F={fi} tăng dần theo U(fi)
B1: MT={G}; //Ghi nhận các mục tiêu trung gian
B2: Tìm f có U(f) C(f) và f(R) MT
Nếu tìm thấy thì đến B3, ngược lại thì đến B4
B3: U(f) = U(f) + UT; UT = UT + 1; Quay lại B2
B4: Với mỗi f còn lại: U(f) = U(f) + UT; UT = UT+1;
B5: Sắp xếp F={fi} tăng dần theo U(fi)
Độ phức tạp: O(n2)
V GIẢI THUẬT
Input:
M: tập hợp các chất ban đầu
F: tập hợp các phản ứng
G: chất cần điều chế
Output:
Kết luận: Điều chế được hay không
Danh sách các phản ứng đã sử dụng
Giải thuật
B0: UF=F; KNOW=M; SOLVE=;
B1: Nếu (GKNOW) và Tìm thấy f sao cho f(L)KNOW (ưu tiên f có U(f) nhỏ nhất) thì:
KNOW=KNOWf(R)
SOLVE=SOLVEf
UF=UF\f
Ngược lại: đến B3
B2: Quay lại B1
Trang 6B3: Nếu (GKNOW): Kết luận Điều chế không thành công
Ngược lại: Kết luận Điều chế thành công
VI TÍNH ĐÚNG ĐẮN
Phản ứng nào đã được dùng để điều chế thì không dùng nữa
Thuật giải dừng khi đã điều chế được G hoặc khi không tìm thấy f để điều chế thêm chất khác
VII ĐỘ PHỨC TẠP
O(n2) khi duyệt hết F mà không điều chế được G
VIII CẢI THIỆN
Cập nhật MT trong hàm Heuristic phù hợp trong quá trình duyệt các f
IX DEMO
Trang 7Công nghệ tri thức và ứng dụng CH1301106 – Phan Hữu Phước
Bước 1: Nhập các các ban đầu (cách nhau bởi dấu phẩy “,”), không cần định dạng chỉ số dưới vì chương trình tự xử lý
Bước 2: Nhập chất cần điều chế
Bước 3: Click chuột lên nút lệnh
X TÀI LIỆU THAM KHẢO
Bài giảng của GS.TSKH Hoàng Văn Kiếm