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

SỬ DỤNG MAPLE CÀI ĐẶT MẠNG ĐỐI TƯỢNG TÍNH TOÁN HÓA HỌC

27 718 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 27
Dung lượng 118,47 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN ---o0o---BÁO CÁO TIỂU LUẬN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG ĐỀ TÀI: SỬ DỤNG MAPLE CÀI ĐẶT MẠNG ĐỐI TƯỢNG TÍNH TOÁN

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

-o0o -BÁO CÁO TIỂU LUẬN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG

ĐỀ TÀI:

SỬ DỤNG MAPLE CÀI ĐẶT MẠNG ĐỐI

TƯỢNG TÍNH TOÁN HÓA HỌC

Mã Số Học Viên : CH1101053

TP Hồ Chí Minh, tháng 01 năm 2013

Trang 2

MỞ ĐẦU

Có đôi lúc chúng ta gặp những vấn đề vô cùng khó khăn, nó đòi hỏi nhiều suy nghĩ, cảm xúc, nghiên cứu Đôi khi có một số vấn đề được chúng ta vận dụng những kiến thức đã tìm hiểu, nghiên cứu để giải quyết khá dễ dàng Tuy nhiên, một số vấn đề khác lại đòi hỏi chúng ta phải có tư duy sáng tạo dựa trên những kiến thức đã biết Việc vận dụng thành thạocác công cụ trí tuệ nhân tạo trong việc giải quyết các vấn đề cũng là một trong những điều quan tâm hiện nay Các công cụ trí tuệ nhân tạo là những chương trình “thông minh” ở một mức độ nào đó, nó có khả năng học hỏi, suy dẫn… và giải quyết vấn đề trên cơ sở ngôn ngữ

tự nhiên Maple là một trong các công cụ trí tuệ nhân tạo được sử dụng khá phổ biến hiện nay, với khả năng biểu diễn các vấn đề từ lĩnh vực phổ thông như toán học, vật lý, hóa học…cho đến phức tạp như lập trình Ngoài ra, với Maplets chúng ta còn có thể tạo ra các giao diện người dùng tùy chon dễ dàng

Mạng tính toán là một dạng biểu diễn tri thức có thể dùng biểu diễn các tri thức về các vấn

đề tính toán và được áp dụng một cách hiệu quả để giải một số bài toán Mỗi mạng tính toán

là một mạng ngữ nghĩa chứa các biến và các quan hệ có thể cài đặt và sử dụng cho việc tínhtoán Mạng tính toán Hóa học cũng là một mạng tính toán khá hay, vậy làm thế nào để trình bày một mạng tính toán lên Maple? Và các thủ tục để tìm lời giải của một vấn đề hóa học dựa trên mạng tính toán ấy ra sao?

Trang 3

Lời cảm ơn

Tôi xin chân thành cảm ơn sự giúp đỡ nhiệt tình của thầy PGS.TS ĐỖ VĂN NHƠN trong suốt thời gian học cũng như quá trình làm đồ án môn học:”BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG”, và cũng xin cảm ơn các bạn trong khoa đã có nhiều đóng góp để tôi hoàn thành môn học này Tuy nhiên do thời gian hạn hẹp, và sự hiểu biết của chúng em về môn học này chưa được sâu, cho nên đề tài vẫn còn nhiều thiếu sót, nhiều vấn đề chưa được giải quyết hoàn chỉnh và phù hợp với thực tế hiện nay Vì vậy, tôi mong nhận được sự đóng góp của thầy và các bạn để chương trình được hoàn thiện hơn.

Học viên thực hiện

Nguyễn Ngọc Tú

Trang 4

MỤC LỤC

A ĐẶT VẤN ĐỀ 1

B GIỚI THIỆU MAPLE 2

C GIỚI THIỆU MẠNG TÍNH TOÁN 5

1 Giới thiệu 5

2 Các quan hệ 5

3 Mạng tính toán và kí hiệu 6

D GIỚI THIỆU MẠNG ĐỐI TƯỢNG TÍNH TOÁN 7

1 Định nghĩa 7

2 Các vấn đề trên mạng đối tượng tính toán 7

E TỔNG QUAN VỀ CÁCH BIỂU DIỄN MẠNG TÍNH TOÁN HÓA HỌC LÊN MAPLE 8

1 Tổng quan về mạng tính toán hóa học 8

2.Tổng quan về cách biểu diễn mạng tính toán hóa học lên Maple 8

F TẠO PACKAGE HÓA HỌC VÀ CÁC THỦ TỤC TRONG PACKAGE 10

1 Tạo Package Hóa Học 10

2 Các thủ tục trong Package Hóa Học 10

G CÁCH GIẢI BẢI TOÁN AB VÀ LỌC LỜI GIẢI TỐT TỪ LỜI GIẢI ĐÃ BIẾT 14

1 Giải bài toán AB 14

2 Lọc lời giải tốt từ lời giải đã biết 15

3 Kiểm tra lời giải cho bài toán 16

H MAPLETS VÀ TẠO ỨNG DỤNG GIAO DIỆN TRONG MAPLE 17

1 Cách sử dụng maplets 17

2 Ứng dụng maplets trong ứng dụng hóa học, giao diện và chức năng 17

I KẾT LUẬN 22

TÀI LIỆU THAM KHẢO 23

Trang 5

A ĐẶT VẤN ĐỀ

Ngày nay vấn đề biểu diễn tri thức ngày càng trở nên quan trọng và là một phần không thể thiếu trong chuyên ngành khoa học máy tính nói riêng và ngành công nghệ thông tin nói chung

Việc các chương trình máy tính hỗ trợ và làm việc thay con người ngày càng trở nên nhu cầu cấp bách và phải đáp ứng một cách nhanh chóng và triệt để

Các chương trình giải toán thông minh cũng là một trong những ứng dụng mà đặc biệt quan tâm Vì toán học được xem là cha đẻ của mọi khoa học Và việc tạo ra những chương trình giải toán thông minh và chính xác sẽ góp phần giúp cho con người dễ dàng hơn trong việc tính toán và giúp cải thiện hiệu quả công việc một cách đáng kể

Để tạo ra được một chương trình như vậy, ngày nay đã được hỗ trợ rất nhiều các công cụ lập trình Riêng trong lĩnh vực biểu diễn tri thức vì đặc thù riêng của bộ môn nên các công cụ lập trình thông thường không đáp ứng được nhu cầu tính toán ở mức độ khó và thông minh Vì vậy đã có nhiều chương trình được tạo ra cho mục dich này Ngày hôm nay chúng tôi xin giới thiệu công cụ lập trình Maple và ứng dụng cài đặt mạng đối tượng tính toán hóa học dựa trên công cụ Maple này!

Trang 6

B GIỚI THIỆU VỀ MAPLE

Khái niệm đầu tiên về Maple xuất phát từ một cuộc họp vào tháng 11 năm

1980 tại Đại học Waterloo Những nhà nghiên cứu tại đại học muốn mua mộtmáy tính đủ mạnh để chạy Macsyma Thay vào đó, người ta quyết định họ sẽ phát triển hệ thống đại số máy tính riêng để có thể chạy được những máy tính

có giá thành hợp lý hơn Do đó, dự án bắt đầu với mục tiêu là tạo ra một hệ thống đại số hình thức mà các nhà nghiên cứu và sinh viên có thể truy cập được

Sự phát triển đầu tiên của Maple được tiến hành rất nhanh, với phiên bản hạn chế đầu tiên xuất hiện vào tháng 12 năm 1980 Những nhà nghiên cứu đã thử nghiệm và loại bỏ nhiều ý tưởng khác nhau để tạo ra một hệ thốngliên tục cải tiến Maple được trình diễn đầu tiên tại những hội nghị bắt đầu vào năm 1982

Đến cuối năm 1983, trên 50 trường đại học đã cài Maple trên máy của

họ Do số lượng hỗ trợ và yêu cầu giấy phép lớn, vào năm 1984, nhóm nghiên cứu đã sắp xếp với WATCOM Products Inc để cấp phép và phân phốiMaple

Vào năm 1988, do số lượng hỗ trợ ngày càng tăng, Waterloo Maple Inc được thành lập Mục tiêu đầu tiên của công ty là quản lý những bản phânphối phần mềm Cuối cùng, công ty cũng phải mở ra phòng R&D ở đó khá nhiều sự phát triển cho Maple được thực hiện đến ngày nay Sự phát triển đáng kể của Maple tiếp tục diễn rại những phòng thí nghiệm trường đại học, bao gồm: Phòng thí nghiệm Tính toán hình thức tại Đại học Waterloo; Trung tâm nghiên cứu Tính toán hình thức Ontario tại Đại học Tây Ontario; và những phòng thí nghiệm khắp nơi trên thế giới

Vào năm 1989, giao diện đồ họa người dùng đầu tiên của Maple được phát triển và bao gồm trong bản 4.3 dành cho Macintosh Những phiên bản

Trang 7

trước của Maple chỉ gồm giao diện dòng lệnh với ngõ ra hai chiều Bản X11

và Windows với giao diện mới tiếp bước vào năm 1980 với Maple V

Vào năm 1999, với việc phát hành Maple 6, Maple đã đưa vào một số Thư viện Số học NAG, được mở rộng độ chính xác ngẫu nhiên

Vào năm 2003, giao diện “chuẩn” hiện nay được giới thiệu trong Maple 9 Giao diện này được viết chủ yếu bằng Java (mặc dù có nhiều phần, nhưng luật cho việc gõ công thức toán học, được viết bằng ngôn ngữ Maple) Giao diện Java bị phê phán là chậm; những sự phát triển được thực hiện trongcác bản sau, mặc dù tài liệu Maple 11 documentation khuyến cáo giao diện (“cổ điển”) trước đây dành cho người với bộ nhớ vật lý ít hơn 500 MB Giao diện cổ điển này không còn được bảo trì

Giữa 1995 và 2005 Maple đã mất khá nhiều thị phần vào tay đối thủ

do có giao diện người dùng yếu hơn Nhưng vào năm 2005, Maple 10 giới thiệu một “chế độ văn bản” mới, như một phần của giao diện chuẩn Tính năng chính của chế độ này là phép toán được đưa vào bằng ngõ nhập hai chiều, do đó nó xuất hiện tương tự như công thức trong sách Vào năm 2008, Maple 12 đã thêm những tính năn giao diện người dùng giống như

Mathematica, gồm có những kiểu trình bày theo mục đích đặc biệt, quản lý phần đầu và cuối trang, so trùng mở đóng ngoặc, vùng thực hiện tự động, mẫu hoàn thành lệnh, kiểm tra cú pháp và vùng tự động khởi tạo Những tính năng khác được thêm để làm cho Maple dễ dùng hơn như một hộp công cụ Maple

Cho đến nay Maple đã được phát triển qua nhiều phiên bản khác nhau

và ngày càng hoàn thiện với các tính năng mới được cập nhật maple đã trở thành một phần mềm tính toán khá mạnh hỗ trợ rất nhiều trong việc tính toán hình thức hiện nay

Trang 8

Với phần mềm Maple, chúng ta có thể:

+ Thực hiện các tính toán với khối lượng lớn, với thời gian nhanh và

độ chính xác cao

+ Sử dụng các gói chuyên dụng của Maple để giải quyết các bài

toán cụ thể như: vẽ đồ thị (gói plot), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg),

+ Thiết kế các đối tượng 3 chiều

+ v.v

Trang 9

C GIỚI THIỆU MẠNG TÍNH TOÁN

1 Giới thiệu

Mạng tính toán là một dạng biểu diễn tri thức có thể dùng tri thức về các vấn

đề tính toán và được áp dụng một cách có hiệu quả để giải một số dạng bài toán Mỗi mạng tính toán là một mạng ngữ nghĩa chứa các biến và những quan hệ có thể cài đặt và sử dụng cho việc tính toán Chúng ta xét mạng tính toán gồm một tập hợp các biến cùng với tập quan hệ (chẳng hạn các công thức) tính toán giữa các biến Trong ứng dụng cụ thể, mỗi biến và giá trị của

nó thường gắn liền với một khái niệm cụ thê về sự vật, mối quan hệ thể hiện một sự tri thức về sự vật

2 Các quan hệ

Cho M ={x1,x2,x3} là một tập các biến có thể lấy giá trị trong các miền xácđịnh tương ứng D1, D2,… ,Dm đối với mỗi quan hệ R⊆ D1 x D2 x Dm trên các tập hợp D1, D2,… ,Dm ta nói rằng quan hệ này liên kết các biến x1, x2, …,xm và

kí hiệu là R(x1, x2, …,xm) hay vắn tắt là R(x) với x dùng để chỉ bộ biến < x1,

x2, …,xm >) Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ fr,u,v với u∪v =x, và ta viết fr,u,v :uv

Đối với các quan hệ dùng cho việc tính toán, cách kí hiệu trên bao hàm ý nghĩa là một hàm mà ta có thể tính được giá trị các biến thuộc v khi biết đượcgiá trị của cá biến thuộc u

Trong các phần sau ta xác định bởi các hàm số có dạng f: u  v trong đó u

∩v= ∅ Đặt biệt là các quan hệ đối xứng có hạng bằng một số nguyên dương

k Đó là các quan hệ mà ta có thể tính được k biến bất kì từ m-k biến Đối vớicác quan hệ không phải là đối xứng có hạng k, không làm mất tính tổng quát

ta có thể xác định quan hệ xác dịnh duy nhất một hàm f với tập biến vào là u(f) và tập biến ra là v(f) Ta gọi quan hệ này là quan hệ không đối xứng một hàm hay còn gọi là quan hệ không đối xứng

3 Mạng tính toán và kí hiệu

Trang 10

Như đã nói ở trên ta sẽ xem xét cá mạng tính toán bao gồm một tập hợp các biến M và một tập các quan hệ F trên các biến Trong trường hợp tổng quát

có thể viết :

M = {x1, x2,… ,xn};

F = {f1, f2,…,f3};

Để mỗi f∈F ta kí hiệu M(f) là tập các biến có quan hệ rong qua hệ f Dĩ nhiên

M(f) là một tập con của M: M(f)⊆M Nếu viết f dưới dạng :

F : u(f)  v(f)

Thì ta có M(f) = u(f) ∪ v(f).

D GIỚI THIỆU MẠNG ĐỐI TƯỢNG TÍNH TOÁN

1 Định nghĩa

Trang 11

Một mạng tính tốn(M,F) được gọi là một mạng con của mạng tính tốn (M’.F’)nếu thõa các điều kiện sau đây:

(1) M ⊆ M’,

(2) F ⊆ F’,

(3) M(f) ⊆ M’(f), với mọi f∈ F

Một mạng tính tốn cịn được xem là một đối tượng tính tốn

Trong đĩ cĩ khái niệm về quan hệ giữa các đối tượng Ta gọi một quan hệ f giữa các biến của các đối tượng tính tốn là một quan hệ giữa các đối tượng

đĩ Quan hệ này cho phép ta tính được một hay nhiều biến của các đối tượng

từ một số biến khác

2 Vấn đề trên mạng các đối tượng tính tốn

Cho một mạng các đối tượng tính tốn (O,F), trong đĩ O là tập hợp các đối tượng tính tốn và F là tập hợp các quan hệ giữa các đối tượng Xét một tập hợp biến M trên mạng:

B với giả thuyết đã biết giá trị của các biến thuộc A hay khơng?

+Nếu cĩ thể xác định được B từ A thì quá trình tính tốn giá trị của các biếnthuộc B sẽ như thế nào?

+Trường hợp khơng thể xác định được B thì cần cho thêm điều kiện gì để cĩ thểxác định được B

E TỔNG QUAN VỀ CÁCH BIỂU DIỄN MẠNG TÍNH TỐN HĨA HỌC LÊN MAPLE

Trang 12

1 Tổng quan về mạng tính toán hóa học:

Mạng tính toán hóa học là mạng tính toán được sử dụng để biểu diễn cáctri thức về các vấn đề hóa học và được áp dụng để giải một số bài toán hóa học.Các thành phần trong 1 mạng tính toán hóa học thường là các chất hóa học, cácmối quan hệ giữa các chất hóa học thông qua các phương trình phản ứng Có rấtnhiều cách để biểu diễn mạng tính toán hóa học tuy nhiên làm thế nào để biểudiễn mạng tính toán hóa học một cách phù hợp và dễ sử dụng trong quá trình giảiquyết các vấn đề hóa học cũng là điều cần quan tâm

2 Tổng quan về cách biểu diễn mạng tính toán hóa học lên Maple:

Để biều diễn mạng tính toán hóa học lên maple, trước tiên chúng ta biểudiễn mạng tính toán hóa học lên trên một file text theo quy tắc sau:

- File text có tên file toàn chữ hoa và nếu tên file có 2 từtrở lên thì giữa các từ là là dâu gạch “_” Ví dụ: HOA_HOC.txt

- Hàng đầu tiên trong file được để trống Hàng kế tiếp làtên đối tượng có cấu trúc sau: object = <ten object>, name objectgiống như tên file text Ví dụ: object = HOA_HOC

- Hàng kế tiếp là danh sách các chất hóa học trong mạngtính toán được biểu diễn theo cấu trúc sau:

Trang 13

O2 = "Khi Oxi"

endvariables

- Hàng kế tiếp bỏ trống Các hành tiếp theo biểu diễn cácmối quan hệ giữa các chất trong mạng tính toán theo cấu trúc sau:relation <number>

Chú ý: giữa các mối quan hệ có 1 hàng trống ngăn cách

1 Tạo Package Hóa Học:

Trang 14

Nhằm thuận tiện trong quá trình sử dụng để gọi các thủ tục mà không cầnphải lập trình lại từ đầu các thủ tục, chúng ta tạo ra package Hóa học Packageđược tạo ra một cách rất đơn giản thông qua thủ tục gọi hàm sau trong maple:

<tên Package> :=table();

<tên Package>[thủ tục 1]:=proc(<các tham biến>)

save(tên Package, “dir/tên Package.m”);

save(tên Package, “dir/Maple12/lib/tên Package.m”);

save(HoaHoc,"C:/Program Files/Maple 12/lib/HoaHoc.m");

2 Các thủ tục trong Package Hóa Học:

a HoaHoc[ReadFile] := proc(filename::string)

• Filename: tên của file chứa thông tin các quan hệ của mạngtính toán

Trang 15

• Chức năng: đọc dữ liệu trong file text trình bày các quan hệtrong mạng hóa học

• Xuất ra: danh sách gồm

- Tên của object

- Danh sách các variable

- Danh sách các quan hệ, mỗi quan hệ gồm

+ chuỗi dạng “relation <number>”

+ tập các chất có trong quan hệ+ tập các chất được điều chế trong quan hệ+ ý nghĩa của các chất

Trang 16

• Chức năng: Kiểm tra bài toán AB

• Xuất ra: true: nếu giải được và false: nếu không giải được

• Xuất ra: danh sách gồm

- true: nếu giải được và false: nếu không giải được

- danh sách các quan hệ các chất được tạo ra từ A có thểđiều chế B

h HoaHoc[SolutionForAB]:=proc(F::list,A::set,B::set)

• F là danh sách các quan hệ (thành phần [3] trong ReadFile)

• A là tập hợp các chất đầu vào

• B là tập hợp các chất cần điều chế

Trang 17

• Chức năng: Tìm tập hợp các phương trình phản ứng có thể tạo

• Xuất ra: danh sách gồm

- true: nếu giải được và false: nếu không giải được

- danh sách các quan hệ các chất được tạo ra từ A có thểđiều chế B (danh sách tốt nhất)

j HoaHoc[CompleteForAB]:=proc(F::list,A::set,B::set)

• F là danh sách các quan hệ (thành phần [3] trong ReadFile)

• A là tập hợp các chất đầu vào

• B là tập hợp các chất cần điều chế

• Chức năng: Tìm chuỗi phản ứng ngắn nhất tạo ra B từ A

• Xuất ra: tập hợp các phương trình phản ứng có thể tạo nên từ

Trang 18

• Nhập : Mạng các đối tượng tính tốn (O,F), với tập biến là M, tập giảthiết A ⊆ M, tập biến cần tính B ⊆ M.

• Xuất : lời giải cho bài tốn A → B

Chọn ra một f F chưa xem xét (trong bước 3 lần nầy);

while not Solution_found and (chọn được f) do

begin

if ( f đối xứng and 0 < Card (M(f) \ A) r(f) ) or ( f khơng đối xứng and ∅≠ M(f) \ A v(f) ) then begin

Until Solution_found or (A = Aold);

4 if not Solution_found then

begin

Ngày đăng: 10/04/2015, 11:08

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w