LẬP TRÌNH TÍNH TOÁN HÌNH THỨC CHO MỘT SỐ GIẢI THUẬT TRONG MẠNG TÍNH TOÁN

31 819 0
LẬP TRÌNH TÍNH TOÁN HÌNH THỨC CHO MỘT SỐ GIẢI THUẬT TRONG MẠNG TÍNH TOÁN

Đ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

LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành đến PGS.TS. Đỗ Văn Nhơn, người đã truyền đạt những kiến thức quý báu không chỉ là lý thuyết mà Thầy còn hướng dẫn cách thức tìm hiểu, phân tích và vận dụng lý thuyết về phương thức lập trình hình thức, công cụ lập trình Maple, biểu diễn tri thức để xây dựng các mô hình và tạo các ứng dụng hữu ích dựa trên các miền tri thức cụ thể. Em xin chân thành cảm ơn Thầy vì sự hướng dẫn của Thầy trong quá trình thực hiện báo cáo này. Em xin chân thành cảm ơn Phòng Đào tạo sau Đại học đã tạo mọi điều kiện để em hoàn thành báo cáo này. Xin chân thành cảm ơn sự giúp đỡ của các anh chị, bạn bè và những người đã thường xuyên trao đổi, thảo luận và đóng góp ý kiến cho tôi về các vấn đề liên quan trong thời gian qua. Học viên thực hiện Lê Thanh Trọng 1 MỤC LỤC 2 CHƯƠNG 1: CƠ SỞ LẬP TRÌNH TÍNH TOÁN HÌNH THỨC TRONG MAPLE 1.1. Giới thiệu Như chúng ta đã biết, trong những năm gần đây, với sự phát triển của Công nghệ thông tin (CNTT), nhiều phần mềm hỗ trợ cho việc tính toán đã xuất hiện và càng ngày càng được hoàn thiện. Tại nước ta, mặc dù chưa trở thành một hiện trạng phổ biến, nhưng trong rất nhiều trường Đại học và Cao đẳng, nhiều cô giáo, thầy giáo đã thực hiện “một cách tự phát” việc sử dụng CNTT nói chung và phần mềm tính toán nói riêng trong việc giảng dạy Toán. Nhiều người đã sử dụng phần mềm STATA, SPSS để xử lý các số liệu thống kê, EVIEWS, MFIT để xử lý các số liệu trong các bài toán Kinh tế lượng, MATHEMATICA, MATLAB, MAPLE trong các bài toán về Toán cao cấp, Toán tài chính. Việc sử dụng các phần mềm tính toán đã đặt ra cho các nhà quản lý giáo dục, các cô giáo, thầy giáo một vấn đề cấp thiết là sử dụng chúng như thế nào trong công tác đổi mới phương pháp dạy và học Toán ở các trường Đại học, Cao đẳng và Phổ thông. Một vấn đề còn đang gây nhiều tranh luận quanh việc sử dụng một số phần mềm khác như MATLAB, MATHEMATICA, MAPLE… trong việc dạy và học môn Toán cao cấp. Các câu hỏi thường đặt ra là: Nên hay không nên sử dụng chúng? Nếu sử dụng thì sử dụng đến mức nào và nhằm mục đích gì? Các phần mềm nêu trên ngoài việc tính toán trên số, còn có một khả năng rất mạnh là tính toán trên ký hiệu (symbolic). Không phải phần mềm tính toán nào cũng có thể cộng 2X với 3X cho kết quả 5X, hay lấy đạo hàm một biểu thức giải tích. Trong EXCEL, ta có thể tính được ma trận nghịch đảo của một ma trận không suy biến với các phần tử là các số, song với các phần tử bằng chữ thì máy không làm được việc đó. 3 Trong khuôn khổ báo cáo này, chúng tôi xin đề cập đến một trong các phần mềm mà chúng tôi đang khai thác là MAPLE. Cho đến cuối năm 2009, trên thị trường nước ta đã có phiên bản MAPLE 13. Theo chúng tôi, MAPLE đủ đáp ứng cho các tính toán trên số và trên các ký hiệu. Kết hợp với công cụ toán giải MAPLE là mô hình mạng tính toán, một mô hình “thông minh” cho phép giải một số bài toán một cách tự động trong toán học, hóa học, vật lý,… dựa trên tập các sự kiện và các luật dẫn. Một số giải thuật hình thức sẽ được MAPLE hiện thực và đóng gói để tạo thành các thư viện hỗ trợ cho ứng dụng trong báo cáo này. Gói này là thành phần cốt lõi của chương trình và được MapleEngine nằm trong thành phần giao diện (C#) triệu gọi các phương thức cần thiết để giải toán. 1.2. Sơ lược về lập trình Maple Maple là một hệ thống tính toán trên các biểu thức đại số và minh hoạ toán học mạnh mẽ của công tyWarterloo Maple Inc (maplesoft.com). Maple ra đời năm 1991 đến nay đã phát triển đến phiên bản 16. Maple có cách cài đặt đơn giản, chạy được trên nhiều hệ điều hành, có cấu trúc linh ho ạt để sử dụng tối ưu cấu hình máy và có trình trợ giúp (help) rất dễ sử dụng. Từ phiên bản 7, Maple cung cấp ngày càng nhiều các công cụ trực quan, các gói lệnh tự học gắn liền với toán học phổ thông và đại học. Ưu điểm đó làm cho nhi ều người trên thế giới lựa chọn sử dụng Maple cùng các phần mềm toán học khác áp dụng trong dạy học toánvà các công việc tính toán đòi hỏi của thực tiễn và sự phát triển của giáo dục. C ó thể nhận thấy rằng ngoài các tính năng tính toán và minh hoạ rất mạnh mẽ bằng các câu lệnh riêng biệt (thường chỉ cho ta kết quả cuối cùng), Maple còn là một ngôn ngữ lập trình hướng thủ tục (procedure). Thủ tục là một dãy các lệnh của Maple theo th ứ tự mà người lập trình định sẵn để xử lí một công việc nào đó, khi thực hiện thủ tục này Maple sẽ tự động thực hiện các lệnh có trong thủ tục đó một cách tuần tự và sau đó trả lại kết quả cuối cùng. 4 Mapple có các chức năng cơ bản sau: • Là một hệ thống tính toán trên các biểu thức đại số. • Có thể thực hiện được hầu hết các phép toán cơ bản trong chương trình toán đại học và sau đại học • Cung cấp các công cụ minh họa hình học thuận tiện gồm: vẽ đồ thị động và tĩnh của các đường và mặt được cho bởi các hàm tùy ý và trong các hệ tọa độ khác nhau. • Là một ngôn ngữ lập trình đơn giản và mạnh mẽ, có khả năng tương tác với các ngôn ngữ lập trình khác. • Cho phép trích xuất ra các định dạng khác nhau như word, HTML… • Một công cụ biên soạn giáo án và bài giảng điện tử, thích hợp với các lớp học tương tác trực tiếp. • Một trợ giáo hữu ích cho học sinh sinh viên trong việc tự học. 1.2.1. Các lệnh lập trình cơ bản 1.2.1.1. Vòng lặp While a Cú pháp. While <điều kiện> do <dãy lệnh> od; b Chức năng. Vòng lặp while cho phép lặp chuỗi các câu lệnh giữa do và od khi mà điều kiện condition vẫn còn đúng (tức là biểu thức điều kiện cho giá trị true). Điều kiện condition được kiểm tra ngay tại đầu mỗi vòng lặp, nếu nó thỏa mãn (giá trị của nó là đúng) thì các câu lệnh bên trong được thực hiện, sau đó lại tiếp tục kiểm tra điều kiện condition cho đến khi điều kiện không còn thỏa mãn nữa.Vòng lặp while thường được sử dụng khi số lần lặp một hay một chuỗi biểu thức là không xác định rõ, đồng thời ta muốn các biểu thức đó cần được lặp trong khi một điều kiện nào đó còn được thỏa mãn. Điều kiện condition trong vòng lặp phải là một biểu thức boolean, tức là giá trị của nó chỉ có thể là đúng hoặc sai, nếu không thì sẽ sinh ra lỗi. Trong trường hợp muốn thoát ra khỏi vòng lặp ngay từ trong giữa vòng lặp, ta có thể thực hiện bằng cách dùng câu lệnh RETURN, break hoặc quit. 5 Chú ý rằng vòng lặp while- do- od; không bắt buộc phải nằm trên nhiều dòng lệnh nhưng người ta thường viết trên nhiều dòng để câu lệnh dễ đọc và dễ hiểu hơn. Vòng lặp While cho phép lặp chuỗi các câu lệnh nằm giữa do và od khi mà điều kiện vẫn còn đúng. 1.2.1.2. Vòng lặp for a Cú pháp. for name from start by change to finish do statement sequence od; Hoặc dạng phát biểu khác: for name in expression do statement sequence od; b Chức năng. Vòng lặp for được dùng để lặp một chuỗi các biểu thức được đặt giữa do và od, mỗi lần lặp tưng ứng với một giá trị phân biệt của biến chỉ số name đứng sau từ khoá for. Ban đầu, giá trị start được gán cho biến chỉ số. Nếu giá trị của biến name nhỏ hơn hay bằng giá trị finish thì chuỗi lệnh nằm giữa do và od được thực hiện, sau đó biến name được gán giá trị tiếp theo bằng cách cộng thêm vào nó giá trị change (name:=name+change). Sau đó, biến name được so sánh với finish để quyết định xem việc thực hiện chuỗi lệnh có được tiếp tục nữa không. Quá trình so sánh biến chỉ số name 6 và thực hiện chuỗi lệnh được lặp liên tiếp cho đến khi giá trị của biến name lớn hơn giá trị finish. Giá trị cuối cùng của biến name sẽ là giá trị vượt quá finish đầu tiên. Chú ý. Nếu các từ khóa from start hoặc by change bị bỏ qua thì mặc định from 1 và by 1 được dùng. Vòng lặp for- in- do- od thực hiện việc lặp với mỗi giá trị mà biến chỉ số name lấy từ biểu thức expression đã cho. Chẳng hạn vòng lặp này được sử dụng hiệu quả khi mà giá trị của biến name là một phần tử của một tập hợp hoặc danh sách. Trong trường hợp muốn thoát khỏi từ giữa vòng lặp, ta có thể dùng các câu lệnh break, quit, RETURN giống như trong vòng lặp while. 1.2.1.3. Lệnh điều kiện if a Cú pháp. if condition then statement sequence | elif condition then statement sequence | | else statement sequence | fi; (Ghi chú: Các câu lệnh trong cặp dấu ngoặc đứng là các lệnh tuỳ chọn. Thí dụ: biểu thức | statement | cho biết rằng statement là một câu lệnh tuỳ chọn). b Chức năng. Nếu bạn muốn một dãy biểu thức được thực hiện khi điều kiện nào đó được thoả mãn và một dãy biểu thức khác được thực hiện nếu trái lại thì có thể dùng câu lệnh if- then- else- fi. Trong câu lệnh trên, nếu điều kiện condition là đúng thì chuỗi biểu thức đứng sau then được thực hiện, nếu trái lại thì điều kiện condition sau từ khoá elif sẽ được kiểm tra, nếu nó đúng thì chuỗi lệnh tương ứng sau then được thực hiện, cứ tiếp tục cho 7 đến khi các điều kiện condition đều không thỏa mãn, thì các biểu thức sau lệnh else được thực hiện. Lưu ý rằng cấu trúc lệnh (tuỳ chọn) elif then được lặp lại với số lần tuỳ ý. Từ khoá elif là dạng viết tắt của else if. Các biểu thức điều kiện condition được sử dụng trong câu lệnh if phải được tạo thành từ các bất đẳng thức, các đẳng thức (các phép toán quan hệ), các biến số, các phép toán logic, các hàm có giá trị trả lại là giá trị logic. Nếu trái lại thì sẽ gây ra lỗi. 1.2.1.4. Lệnh break a Cú pháp. break b Chức năng. Trong lúc vòng lặp while/for đang được thực hiện, nếu lệnh break được gọi thì chương trình sẽ thoát ngay lập tức ra khỏi vòng lặp while/for tận trong cùng nhất mà có chứa lệnh break (vì cũng có thể có nhiều vòng lặp while/for được lồng nhau). Một ví dụ khá điển hình trong việc sử dụng lệnh break là trong quá trình tìm kiếm search, rõ ràng là bạn sẽ muốn dừng quá trình quét lại ngay khi bạn tìm thấy đối tượng cần tìm. Khi đó, ngay tại thời điểm tìm thấy, bạn dùng lệnh break để nhảy ra khỏi vòng lặp tìm kiếm. Trước lệnh break thường có một câu lệnh điều kiện if then Nếu lệnh break dùng ngoài các vòng lặp while/for thì sẽ sinh ra lỗi. Chú ý: break không phải là từ khoá (từ dành riêng cho Maple), vì vậy ta có thể gán giá trị cho biến có tên là break mà không hề sinh ra lỗi (mặc dù điều này là không nên). 1.2.1.5. Lệnh next a Cú pháp. Next. 8 b Chức năng. Cũng giống như câu lệnh break, lệnh next được thực hiện trong vòng lặp while/for với mục đích bỏ qua một số lệnh bên trong vòng lặp để nhảy qua lần lặp tiếp theo. Khi gặp lệnh next trong vòng lặp, chương trình bỏ qua các lệnh tiếp theo của vòng lặp tận cùng nhất chứa next cho đến khi gặp từ khoá xác định kết thúc vòng lặp (ở đây là lệnh od). Đến đây vòng lặp tiếp tục nhảy qua lần lặp tiếp theo (nếu có thể) bằng cách tăng chỉ số hoặc kiểm tra điều kiện để quyết định xem có nên thực hiện vòng lặp tiếp theo. Lệnh next sinh ra lỗi nếu nó được gọi ngoài vòng lặp while/for. Tương tự như break, next cũng không phải là từ khóa, do đó ta hoàn toàn có thể gán cho next một giá trị (xem như next là một biến). Ngay trước lệnh next cũng thường là một câu lệnh điều kiện if then Sử dụng các hàm RETURN, ERROR. 1.2.1.6. Sử dụng các hàm RETURN, ERROR Hàm RETURN được sử dụng để cho giá trị hàm trước khi thoát khỏi chu trình. Nếu không có lệnh RETURN, chu trình tự động cho kết quả của phép tính cuối cùng trong chu trình. Hàm ERROR được sử dụng để đưa thông điệp lỗi ra màn hình từ bên trong chu trình. 1.2.2. Cách thiết lập chu trình 1.2.2.1. Giới thiệu Maple là một ngôn ngữ lập trình hướng chu trình (procedure). Chúng ta có thể làm việc với Maple bằng hai chế độ khác nhau: Chế độ tương tác trực tiếp thông qua việc nhập từng lệnh đơn lẻ ngay tại dấu nhắc lệnh của Maple và nhận được ngay kết quả của lệnh đó. Chế độ chu trình được thực hiện bằng cách đóng gói một dãy các lệnh xử lí cùng một công việc vào trong một chu trình (procedure) duy nhất, sau đó ta chỉ cần gọi chu trình này và Maple tự động thực hiện các lệnh có trong chu trình đó một cách tuần tự và sau đó trả lại kết quả cuối cùng. 9 Maple chứa một lượng rất lớn các hàm tạo sẵn đáp ứng cho những yêu cầu tính toán khác nhau trong nhiều lĩnh vực. Các hàm này được lưu trữ trong các gói chu trình (package) và người sử dụng có thể dễ dàng gọi đến mỗi khi cần thiết. Tuy nhiên, người dùng Maple có thể tự tạo cho riêng mình những gói chu trình cũng như có thể trao đổi dùng chung những gói chu trình nào đấy, phục vụ cho công việc mang tính đặc thù riêng của mình. Các khái niệm cơ bản cần phải nắm vững để tạo ra một chu trình (procedure) là:  Cấu trúc proc() end; cùng với các khai báo trong cấu trúc này (global, local, option, ).  Các cấu trúc dữ liệu và các hàm có liên quan (dãy-sequence, tập hợp-set, danh sách-list, mảng-array, bảng-table).  Các hàm lập trình cơ bản (đã nêu ở trên) và các hàm liên quan đến việc xử lí dữ liệu (eval, evalf, subs, map, convert, ). 1.2.2.2. Khai báo chu trình Lời gọi khai báo một chu trình: procedure_name:=proc(parameter_sequence) [local local_sequence] [global global_sequence] [options options_sequence] statements_sequence; end; Giải thích các khai báo: parameter_name: Là một dãy các kí hiệu, ngăn cách nhau bởi các dấu phẩy, chứa tên các tham biến truyền cho chu trình. 10 [...]... tìm một lời giải tốt từ một lời giải biết trước bằng cách lần lượt xem xét các quan hệ trong tập lời giải đã biết và chọn ra các quan hệ để đưa vào một lời giải mới sao cho trong lời giải mới nầy không thể bớt ra bất kỳ một quan hệ nào Mô hình mạng tính toán cho bài toán cần giải quyết trong mạng ngữ nghĩa bao gồm một số giải thuật cần có như: giải thuật tìm lời giải, giải thuật tìm bao đóng, giải thuật. .. CHƯƠNG TRÌNH ỨNG DỤNG Trong phần này báo cáo sẽ trình bày ứng dụng lập trình tính toán hình thức cùng với mạng tính toán đã trình bày ở chương 2 trong giải bài toán tam giác, hình chữ nhật và bài toán điện một chiều Đây là các bài toán điển hình nhằm mang lại các ví dụ minh họa phương thức lập trình tính toán hình thức một cách rõ nét và dễ hiểu 3.1 Mô hình bài toán 3.1.1 Tập sự kiện Là những thuộc tính. .. traperror() trả lại kết quả tính toán biểu thức Mỗi lần gọi đến hàm traperror(), Maple tự động xoá đi giá trị cũ có trong bốn lần tính toán trước 14 CHƯƠNG 2: LẬP TRÌNH TÍNH TOÁN HÌNH THỨC CHO MỘT SỐ GIẢI THUẬT TRONG MẠNG TÍNH TOÁN 2.1 Giới thiệu mạng tính toán 2.1.1 Giới thiệu Nhận thấy có nhiều vấn đề trong các lĩnh vực khác nhau đặt ra dưới dạng một mạng của các yếu tố, trong đó giữa các yếu tố có... nghĩa lời giải D = {f1, f2, , fk} là một lời giải của bài toán A → B khi lần lượt áp dụng các quan 2.1.3.2 hệ fi (i=1, ,k) xuất phát từ giả thiết A thì sẽ suy ra được các biến thuộc B Nói cách khác D là một lời giải của bài toán khi D(A) ⊃ B Bài toán A → B là giải được khi nó có một lời giải Lời giải {f1, f2, , fk} được gọi là lời giải tốt nếu không thể bỏ bớt một số bước tính toán trong quá trình giải, ... ra một f ∈ F chưa xem xét; end; { while } Until Solution_found or (A = Aold); 4 if not Solution_found then Bài toán không có lời giải; else Solution là một lời giải; 2.1.5 Thuật toán tìm một lời giải tốt Giả sử {f1, f2, , fm} là một lời giải của bài toán A→ B Tìm một lời giải tốt cho bài toán 1 D ← {f1, f2, , fm}; 2 for i=m downto 1 do if D \ {fi} là một lời giải then D ← D \ {fi}; 3 D là một lời giải. .. giải thô chưa tối ưu, chúng ta cần tối ưu lời giải hơn cho bài toán Ý tưởng tìm lời giải tối ưu là loại bỏ các bước thừa vừa tìm được như trên Duyệt qua từng biểu thức trong lời giải đã có, ta thử bỏ đi biểu thức đó và kiểm tra lời giải đã bỏ biểu thức trên có giải được bài toán A->B không, nếu giải được thì lời giải mới là lời giải cũ bỏ đi biểu thức đó Minh họa bằng thủ tục trong Maple: Tìm lời giải. .. giải thuật tìm lời giải tối ưu, giải thuật bổ sung dữ kiện khi dữ kiện thiếu,… 2.2 Hiện thực một số thuật giải trong Maple 2.2.1 Tìm lời giải từ giả thuyết ban đầu Bằng thủ thuật lan truyền, ta mở rộng tập biến A có thể tính toán được nhờ vào giả thuyết ban đầu và sau đó thêm biểu thức tính f vào lời giải ban đầu là rỗng S:=[] Minh họa bằng thủ tục trong Maple: Tìm lời giải cho bài toán A->B trên tập... tố có những mối liên hệ (hay quan hệ) cho phép ta suy ra được một số yếu tố này từ một số yếu tố khác Mô hình mạng suy diễn – tính toán là một sự khái quát dạng tri thức trên có thể dùng để biểu diễn tri thức và thiết kế các chương trình giải toán tự động 2.1.2 Các định nghĩa 2.1.2.1 Quan hệ suy diễn Cho M = {x1,x2, ,xm} là một tập hợp các biến có thể lấy giá trị trong các miền xác định D1, D2, ,Dm Mỗi... Tinh Toán, nó được áp dụng trong phép kiểm tra và thu thập lời giải trong các bước sau Minh họa bằng thủ tục trong Maple: Tìm lời giải cho bài toán A->B trên tập luật Q Minh họa bằng thủ tục trong Maple: Tìm lời giải cho bài toán A->B trên tập luật Q Minh họa bằng thủ tục trong Maple: Tìm bao dong cho tập biến A trên tập luật Q 19 2.2.3 Kiểm tra lời giải Để kiểm tra lời giải ban cho trước K có là lời giải. .. Chương trình 3.2.1 Giới thiệu chương trình Chương trình bao gồm 2 phần chính: - Phần lập trình hình thức: được viết bằng Maple bao gồm các sự kiện, các luật suy diễn, các hàm hiện thực các giải thuật trong mạng tính toán như đã trình bày ở Chương 2 Phần này được chứa trong gói MangTinhToan khi thực thi lệnh tạo package có trong file MangTinhToan.mw Sau khi hiện thực thi tất cả các câu lệnh trong file . động xoá đi giá trị cũ có trong bốn lần tính toán trước. 14 CHƯƠNG 2: LẬP TRÌNH TÍNH TOÁN HÌNH THỨC CHO MỘT SỐ GIẢI THUẬT TRONG MẠNG TÍNH TOÁN 2.1. Giới thiệu mạng tính toán 2.1.1. Giới thiệu Nhận. đưa vào một lời giải mới sao cho trong lời giải mới nầy không thể bớt ra bất kỳ một quan hệ nào. Mô hình mạng tính toán cho bài toán cần giải quyết trong mạng ngữ nghĩa bao gồm một số giải thuật. trên các ký hiệu. Kết hợp với công cụ toán giải MAPLE là mô hình mạng tính toán, một mô hình “thông minh” cho phép giải một số bài toán một cách tự động trong toán học, hóa học, vật lý,… dựa trên

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

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: CƠ SỞ LẬP TRÌNH TÍNH TOÁN HÌNH THỨC TRONG MAPLE

    • 1.1. Giới thiệu

    • 1.2. Sơ lược về lập trình Maple

      • 1.2.1. Các lệnh lập trình cơ bản

        • 1.2.1.1. Vòng lặp While

        • 1.2.1.2. Vòng lặp for

        • 1.2.1.3. Lệnh điều kiện if

        • 1.2.1.4. Lệnh break

        • 1.2.1.5. Lệnh next

          • Lệnh next sinh ra lỗi nếu nó được gọi ngoài vòng lặp while/for. Tương tự như break, next cũng không phải là từ khóa, do đó ta hoàn toàn có thể gán cho next một giá trị (xem như next là một biến). Ngay trước lệnh next cũng thường là một câu lệnh điều kiện if... then... Sử dụng các hàm RETURN, ERROR.

          • 1.2.1.6. Sử dụng các hàm RETURN, ERROR

          • 1.2.2. Cách thiết lập chu trình

            • 1.2.2.1. Giới thiệu

            • 1.2.2.2. Khai báo chu trình

            • 1.2.2.3. Tham biến

            • 1.2.2.4. Phạm vi các biến

            • 1.2.2.5. Định giá các biến

            • 1.2.3. Các chức năng khác

            • CHƯƠNG 2: LẬP TRÌNH TÍNH TOÁN HÌNH THỨC CHO MỘT SỐ GIẢI THUẬT TRONG MẠNG TÍNH TOÁN

              • 2.1. Giới thiệu mạng tính toán

                • 2.1.1. Giới thiệu

                • 2.1.2. Các định nghĩa

                  • 2.1.2.1. Quan hệ suy diễn

                  • 2.1.2.2. Mạng suy diễn

                  • 2.1.3. Một số khái niệm và kí hiệu

                    • 2.1.3.1. Định nghĩa tính áp dụng được của luật

                    • 2.1.3.2. Định nghĩa lời giải

                    • 2.1.4. Quá trình đi tìm lời giải

                    • 2.1.5. Thuật toán tìm một lời giải tốt

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

Tài liệu liên quan