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

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

Đ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

ĐẠ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 Bộ Môn : BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG Giảng viên : PGS-TS ĐỖ VĂN NHƠN Học viên : NGUYỄN NGỌC TÚ Mã Số Học Viên : CH1101053 Lớp : CH CNTTQM - 06 TP. Hồ Chí Minh, tháng 01 năm 2013 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ạo cá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ính toá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? 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ú 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 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! 5 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ột má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ống liê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ối Maple. 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ân phố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 6 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 trong cá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. 7 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 8 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 ={x 1 ,x 2, x 3 } 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 D 1 , D 2 ,… ,D m đối với mỗi quan hệ R ⊆ D 1 x D 2 x D m trên các tập hợp D 1 , D 2 ,… ,D m ta nói rằng quan hệ này liên kết các biến x 1 , x 2 , …,x m và kí hiệu là R(x 1 , x 2 , …,x m ) hay vắn tắt là R(x) với x dùng để chỉ bộ biến < x 1 , x 2 , …,x m >). Ta có thể thấy rằng quan hệ R(x) có thể được biểu diễn bởi một ánh xạ f r,u,v với u ∪ v =x, và ta viết f r,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 được giá 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ới cá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 9 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 = {x 1 , x 2 ,…. ,x n }; F = {f 1 , f 2 ,…,f 3 }; Để 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 10 [...]... HỌC LÊN MAPLE 11 1 Tổng quan về mạng tính tốn hóa học: Mạng tính tốn hóa học là mạng tính tốn được sử dụng để biểu diễn các tri thức về các vấn đề hóa học và được áp dụng để giải một số bài tốn hóa học Các thành phần trong 1 mạng tính tốn hóa học thường là các chất hóa học, các mố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ất nhiều cách để biểu diễn mạng tính tốn hóa học tuy... diễn mạng tính tốn hóa học tuy nhiên làm thế nào để biểu diễn mạng tính tốn hóa học một cách phù hợp và dễ sử dụng trong q trình giải quyế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 tốn hóa học lên Maple: Để biều diễn mạng tính tốn hóa học lên maple, trước tiên chúng ta biểu diễn mạng tính tốn hóa học lên trên một file text theo quy tắc sau: File text có tên... áp dụng được trên A) then A ← ti (A); 2 if A ⊇ B then {t1, t2, , tm} là lời giải else {t1, t2, , tm} khơng là lời giải; H MAPLETS VÀ TẠO ỨNG DỤNG GIAO DIỆN TRONG MAPLE 1 Cách sử dụng maplets: 20 Để tạo ra một ứng dụng với giao diện trong maple chúng ta có thể sử dụng package Maplets có sẵn trong Maple Để sử dụng các elements trong Maplets như Button, Menu… chúng ta sử dụng thủ tục gọi sau: with(Maplets[Elements]);... 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: M(O) ⊇ M ⊇ M(F) Giả sử một tập biến A ⊆ M đã được xác định (tức là tập gồm các biến đã biết trước giá trị) và B là một tập biến bất kì trong M Các vấn đề đặt. ..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... bày về mạng tính tốn hóa học và cách biểu diễn trên maple cũng như cách giải bài tốn A suy ra B… và cuối cùng là cách sử dung maplets để tạo ứng dụng giao diện trong Maple Kết quả thực nghiệm cho thấy ứng dụng chạy khá tốt, giải được các bài tốn AB với các chất A,B có trong mạng tính tốn Trên cơ bản, bài báo cáo đã trình bày hầu như đầy đủ về các vấn đề gặp phải trong q trình trình bày một mạng tính. .. else Solution là một lời giải; Giải bài tốn A B trong mạng tính tốn hóa học: - Đối với mạng tính tốn hóa học, các mối quan hệ thường là khơng đối xứng với nhau, ta xem như khơng đối xứng vì thế trong q trình giải bài tốn A B ta có thể bỏ bớt đi một số bước Cụ thể là ta khơng cần kiểm tra xem nó có đối xứng khơng, chỉ xét trường hợp nó khơng đối xứng (∅ ≠ M(f) \ A ⊆ v(f)) - Giải bài tốn thơng qua... trình bày một mạng tính tốn sử dụng cơng cụ maple, tuy nhiên trong q trình làm việc vẫn còn có những thiếu sót cần cải thiện được như việc tạo ứng dụng giao diện vẫn chưa được đẹp, một số element chưa sử dụng được trong ứng dụng hóa học, … Hướng phát triển của bài báo cáo đó là tạo ra một ứng dụng đẹp, than thiện, dễ dùng và có thể giải được nhiều bài tốn khác trong hóa học chứ khơng chỉ dừng lại ở... gọi thủ tục hiển thị như sau: result := Maplets[Display](maplet); Ta có giao diện: Để biết thêm về các thủ tục khởi tạo các đối tượng elements khác của maplet chúng ta có thể bấm ctrl+F1 trong giao diện Maple, và ở khung search đánh Maplets 2 Ứng dụng maplets trong ứng dụng hóa học: a Giao diện: b Các thành phần và chức năng: bao gồm 21 i TextField 1: nhập các chất ban đầu, có tooltip (“chú ý các chất... HoaHoc[SolutionAB]:=proc(F::list,A::set,B::set) 1 Lọc lời giải tốt từ lời giải đã biết: Nhập : Mạng các đối tượng tính tốn (O,F), lời giải {t1, t2, , tm} của bài tốn A→ B Xuất : lời giải tốt cho bài tốn A → B Thuật tốn : 19 1 D ← {t1, t2, , tm}; 2 for i=m downto 1 do if D \ {ti} là một lời giải then D ← D \ {ti}; 3 D là một lời giải tốt 2 Kiểm tra lời giải cho bài tốn: Nhập : Mạng các đối tượng tính tốn (O,F), bài tốn A→ B, dãy {t1, t2, , tm} . TÍNH TOÁN HÓA HỌC LÊN MAPLE 11 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ác tri thức về các vấn đề hóa học và được áp dụng để. 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. 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ểu diễn mạng tính toán hóa học lên trên một file text theo

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

Từ khóa liên quan

Mục lục

  • MỞ ĐẦU

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

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

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

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

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

      • b. HoaHoc[ResultSet]:=proc(F::list,A::set)

      • c. HoaHoc[ResultRelate]:=proc(F::list,A::set)

      • d. HoaHoc[ResultFormula]:=proc(F::list,A::set)

      • e. HoaHoc[ResultB]:=proc(F::list,B::set)

      • f. HoaHoc[TestAB]:=proc(F::list,A::set,B::set)

      • g. HoaHoc[SolutionAB]:=proc(F::list,A::set,B::set)

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

      • i. HoaHoc[CompleteSolAB]:=proc(F::list,A::set,B::set)

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

      • 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

        • 1. Giải bài toán AB:

          • a. Thuật toán:

          • b. Giải bài toán A B trong mạng tính toán hóa học:

          • 1. Lọc lời giải tốt từ lời giải đã biết:

          • 2. Kiểm tra lời giải cho bài toán:

          • 1. Cách sử dụng maplets:

          • 2. Ứng dụng maplets trong ứng dụng hóa học:

            • a. Giao diện:

            • b. Các thành phần và chức năng: bao gồm

Tài liệu cùng người dùng

Tài liệu liên quan