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

Tiểu luận MÔN BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG SỬ DỤNG MẠNG TÍNH TOÁN ĐỂ GIẢI

28 398 0

Đ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 28
Dung lượng 2,52 MB

Nội dung

Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa, chẳng hạn như các dãy: 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

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CAO HỌC CÔNG NGHỆ THÔNG TIN QUA MẠNG

BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CAO HỌC CÔNG NGHỆ THÔNG TIN QUA MẠNG

BIỂU DIỄN TRI THỨC VÀ ỨNG DỤNG

Trang 3

Xin chân thành cám ơn gia đình và bạn bè đã ủng hộ, giúp đỡ và động viên em trong thời gian học tập và nghiên cứu

Mặc dù đã cố gắng hoàn thành bài luận nhưng chắc chắn không tránh khỏi thiếu sót Em

kính mong nhận được sự thông cảm và tận tình chỉ bảo của quý thầy cô

Học viên thực hiện Huỳnh Tuấn Anh TpHCM, 01/2013

Trang 4

Mục Lục

A Yêu Cầu: 1

B Nội Dung: 2

I Lý Thuyết: 2

1 Mạng Tính Toán: 2

2 Bài toán giải tam giác: 6

3 Bài toán hóa học: 9

4 Thuật giải của bài toán giải tam giác và hóa học: 9

4.1 Thuật giải tìm lời giải cho bài toán A  B: 9

4.2 Thuật giải bổ sung giả thiết cho bài toán: 11

5 Một số bài toán cụ thể: 11

5.1 Giải tam giác: 11

5.2 Giải hóa học: 14

II Thiết kế và cài đặt: 15

1 Mô hình tri thức cho bài toán giải tam giác: 15

1.1 Mô hình mạng tính toán: 15

1.2 Lưu trữ tri thức tam giác trên máy tính: 15

2 Mô hình tri thức cho bài toán hóa học: 15

3 Cài đặt và kết quả thử nghiệm: 16

3.1 Giải tam giác: 16

3.2 Giải hóa học: 20

C Tài Liệu Tham Khảo: 24

Trang 5

A Yêu Cầu:

Cho người sử dụng nhập vào một bài toán tam giác hoặc hóa học theo quy cách đã được qui định Máy sẽ đưa ra lời giải cho bài toán trên (nếu bài toán có lời giải) Trong trường hợp bài toán không giải được thì chương trình sẽ thông báo để ta cho thêm dữ kiện hoặc điều chỉnh lại bài toán

Chúng ta xét một tam giác bao gồm 22 yếu tố:

 a, b, c : 3 cạnh của tam giác (Hình 1)

 , ,  : 3 góc đối diện với 3 cạnh tương ứng trong tam giác (Hình 1)

 ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác (Hình 2a)

 ma, mb, mc : 3 đường trung tuyến tương ứng với 3 cạnh của tam giác (Hình 2b)

 pa, pb, pc : 3 đường phân giác trong tương ứng với 3 cạnh của tam giác

 S : diện tích tam giác

 p : nửa chu vi của tam giác

 R : bán kính đường tròn ngoại tiếp tam giác

 r : bán kính đường tròn nội tiếp tam giác

 ra, rb, rc : các bán kính của các đường tròn bàng tiếp tam giác

Trang 6

Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất nầy thành các chất khác Tạm thời bỏ qua một số điều kiện phản ứng, ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Ví dụ như phản ứng điều chế Clo từ axít Clohidric và đioxit mangan :

MnO2 + HCl  MnCl2 + Cl2 + H2O

Phản ứng trên có thể được xem như một quan hệ cho chúng ta có được các chất Cl2, MnCl2, H2O từ các chất MnO2, HCl

Trong báo cáo chúng ta dùng mạng tính toán để giải 2 bài toán sau trong hóa học:

1 Cho một số chất, hỏi có điều chế được một vài chất nào đó không?

2 Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa, chẳng hạn như các dãy:

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 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 được cho việc tính toán Chúng ta xét một mạng tính toán gồm một tập hợp các biến

cùng với một tập các 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

Trang 7

Trong phần sau ta xét các quan hệ xác định bởi các hàm có dạng f : u  v, trong đó u 

v =  (tập rỗng) Đặc biệt là các quan hệ đối xứng có hạng (rank) 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 kia (ở đây x là

bộ gồm m biến < x1,x2, ,xm >) Ngoài ra, trong trường hợp cần nói rõ ta viết u(f) thay cho

u, v(f) thay cho v Đố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ể giả sử quan hệ xác đị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 loại quan hệ nầy là quan hệ không đối xứng xác định một hàm,

hay gọi vắn tắt là quan hệ không đối xứng

ví dụ: quan hệ f giữa 3 góc A, B, C trong tam giác ABC cho bởi hệ thức:

1.3 Bài toán trên mạng tính toán:

Cho một mạng tính toán (M,F), M là tập các biến và F là tập các quan hệ Giả sử có một tập biến A  M đã được xác định và B là một tập biến bất kỳ trong M

Các vấn đề đặt ra là:

 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nói cách khác, ta có thể tính được giá trị của các biến thuộc B với giả thiết đã biết giá trị của các biến thuộc A hay không?

Trang 8

 Nếu có thể xác định được B từ A thì quá trình tính toán giá trị của các biến thuộc B như thế nào?

 Trong 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

Bài toán xác định B từ A trên mạng tính toán (M,F) được viết dưới dạng:

A  B,

trong đó A được gọi là giả thiết, B được gọi là mục tiêu tính toán của bài toán

Định nghĩa 2.1:

Bài toán A  B được gọi là giải được khi có thể tính toán được giá trị các biến

thuộc B xuất phát từ giả thiết A Ta nói rằng một dãy các quan hệ f1, f2, , fk  F là một

lời giải của bài toán A  B nếu như ta lần lượt áp dụng các quan hệ fi (i=1, ,k) xuất phát

từ giả thiết A thì sẽ tính được các biến thuộc B 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, tức là không thể bỏ bớt một

số quan hệ trong lời giải

Việc tìm lời giải cho bài toán là việc tìm ra một dãy quan hệ để có thể áp dụng suy ra được B từ A Điều nầy cũng có nghĩa là tìm ra được một quá trình tính toán để giải bài toán

Định nghĩa 2.2 :

Cho D = f1, f2, , fk là một dãy quan hệ của mạng tính toán (M,F), A là một tập

con của M Ta nói dãy quan hệ D là áp dụng được trên tập A khi và chỉ khi ta có thể lần

lượt áp dụng được các quan hệ f1, f2, , fk xuất phát từ giả thiết A

Nhận xét : Trong định nghĩa trên, nếu đặt : A0 = A, A1 = A0 M(f1), , Ak = Ak-1

 M(fk), và ký hiệu Ak là D(A), thì ta có D là một lời giải của bài toán A  D(A) Trong trường hợp D là một dãy quan hệ bất kỳ (không nhất thiết là áp dụng được trên A), ta vẫn

ký hiệu D(A) là tập biến đạt được khi lần lượt áp dụng các quan hệ trong dãy D (nếu được) Chúng ta có thể nói rằng D(A) là sự mở rộng của tập A nhờ áp dụng dãy quan hệ D

Định nghĩa 2.3: Cho mạng tính toán (M,F), và A là một tập con của M Ta có thể

thấy rằng có duy nhất một tập hợp B lớn nhất  M sao cho bài toán A  B là giải được, và

tập hợp B nầy được gọi là bao đóng của A trên mô hình (M,F) Một cách trực quan, có thể

nói bao đóng của A là sự mở rộng tối đa của A trên mô hình (M,F) Ký hiệu bao đóng của A

là A, chúng ta có định lý sau đây:

Định lý 2.1 Trên một mạng tính toán (M,F), bài toán A  B là giải được khi và chỉ khi B  A

Trang 9

Từ định lý này, ta có thể kiểm tra tính giải được của bài toán A  B bằng cách tính bao đóng của tập A rồi xét xem B có bao hàm trong A hay không

Định lý 2.2 Cho một mạng tính toán (M,F), A, B là hai tập con của M Ta có các

điều sau đây là tương đương:

(1) B  A

(2) Có một dãy quan hệ D = f1, f2, , fk  F thỏa các điều kiện :

(a) D áp được trên A

Qua các định lý trên, ta thấy rằng việc xác định bao đóng của một tập biến trên mô hình tính toán là cần thiết Dưới đây là thuật toán cho phép xác định bao đóng của tập hợp A  M Trong thuật toán nầy chúng ta thử áp dụng các quan hệ f  F để tìm dần những biến thuộc M có thể tính được từ A; cuối cùng sẽ được bao đóng của A

Mệnh đề 1.1 : dãy quan hệ D là một lời giải của bài toán A  B khi và chỉ khi D áp dụng được trên A và D(A)  B

Do mệnh đề trên, để tìm một lời giải ta có thể làm như sau: Xuất phát từ giả thiết A,

ta thử áp dụng các quan hệ để mở rộng dần tập các biến có giá trị được xác định; và quá trình nầy tạo ra một sự lan truyền tính xác định trên tập các biến cho đến khi đạt đến tập biến B Dưới đây là thuật toán tìm một lời giải cho bài toán A  B trên mạng tính toán (M,F)

Định lý 2.3 Cho D=f1, f2, , fm là một lời giải của bài toán A  B Ưng với mỗi i=1, ,m đặt Di = f1, f2, , fi, D0 =  Ta xây dựng một họ các dãy con Sm, Sm-1, , S2, S1

của dãy D như sau :

Sm =  nếu Dm-1 là một lời giải,

Sm = fm nếu Dm-1 không là một lời giải,

Si = Si+1 nếu Di-1 Si+1 là một lời giải,

Trang 10

Si = fi Si+1 nếu Di-1 Si+1 không là một lời giải,

với mọi i = m-1, m-2, , 2, 1

Khi đó ta có :

(1) Sm  Sm-1  S2 S1 (2) Di-1  Si là một lời giải của bài toán A  B với mọi i=m, , 2, 1

(3) Nếu S’i là một dãy con thật sự của Si thì Di-1  S’i không phải là một lời giải của bài toán A  B với mọi i

(4) S1 là một lời giải tốt của bài toán A  B

2 Bài toán giải tam giác:

Về mặt tính toán, chúng ta có thể xem tam giác là một mạng tính toán (hay một đối tượng tính toán) bao gồm các biến ghi nhận giá trị của các yếu tố trong tam giác, và các quan hệ là các công thức thể hiện mối liên hệ tính toán giữa các yếu tố đó

Tập các biến trong tam giác gồm:

 a, b, c : 3 cạnh của tam giác

 , ,  : 3 góc đối diện với 3 cạnh tương ứng trong tam giác

 ha, hb, hc : 3 đường cao tương ứng với 3 cạnh của tam giác

 ma, mb, mc : 3 đường trung tuyến tương ứng với 3 cạnh của tam giác

 pa, pb, pc : 3 đường phân giác trong tương ứng với 3 cạnh của tam giác

 S : diện tích tam giác

 p : nửa chu vi của tam giác

 R : bán kính đường tròn ngoại tiếp tam giác

 r : bán kính đường tròn nội tiếp tam giác

 ra, rb, rc : các bán kính của các đường tròn bàng tiếp tam giác

Các hệ thức cơ bản giữa các yếu tố của tam giác:

Trang 11

  

f6 : c

sin

b sin

  

f7 : a

sin

c sin

Trang 13

thuật toán để làm tối thiểu hóa các công thức (hay các quan hệ) theo một thứ tự ưu tiên nào

đó Tuy nhiên, nếu có thể nhớ được trực tiếp nhiều công thức thì việc tính toán sẽ có lợi hơn

3 Bài toán hóa học:

Chúng ta biết rằng trong hóa học, việc xem xét các phản ứng hóa học là một trong những vấn đề quan trọng Về mặt tri thức người ta đã biết được nhiều chất và các phản ứng hóa học có thể chuyển hóa từ một số chất nầy thành các chất khác Tạm thời bỏ qua một số điều kiện phản ứng, ta có thể xem tri thức đó như một mạng tính toán mà mỗi phản ứng là một quan hệ của mạng Ví dụ như phản ứng điều chế Clo từ axít Clohidric và đioxit mangan :

MnO2 + HCl  MnCl2 + Cl2 + H2O

Phản ứng trên có thể được xem như một quan hệ cho chúng ta có được các chất Cl2, MnCl2, H2O từ các chất MnO2, HCl

Trong báo cáo chúng ta dùng mạng tính toán để giải 2 bài toán sau trong hóa học:

1 Cho một số chất, hỏi có điều chế được một vài chất nào đó không?

2 Tìm các phương trình phản ứng để biểu diễn dãy các biến hóa, chẳng hạn như các dãy:

Zn  ZnO  ZnSO4

S  SO2  SO3  H2SO4

4 Thuật giải của bài toán giải tam giác và hóa học:

4.1 Thuật giải tìm lời giải cho bài toán A  B:

Nhập : các file chưa tri thức cho bài toán tam giác hay hóa học, tập giả thiết

Trang 14

Solution_found  true; // biến Solution_found = true khi bài toán là

// giải được

goto 4;

end else

Until Solution_found or (A = Aold);

6 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;

7 Loại bỏ các bước giải không cần thiết

D f1, f2, , fm; // f 1 , f 2 , , f m của bài toán A B

for i=m downto 1 do

Trang 15

if D \ fi là một lời giải then

D  D \ fi;

D là một lời giải tốt

8 Tính giá trị cho từng thuộc tính được suy ra trong từng bước giải

9 In từng bước giải của bài toán

4.2 Thuật giải bổ sung giả thiết cho bài toán:

Nhập :F là tập hợp các quan hệ của đề bài, H là tập hợp phần giả thiết, G là tập hợp phần mục tiêu

Xuất : giả thiết cần bổ sung

7 while (ans = false) and k<= số phần từ của Aset do

for H1 in tập con có k phần tử của Aset do BaoH  Baodong(Fset, H  H1);

5.1 Giải tam giác:

Như đã nói ở trên, chúng ta xét một tam giác bao gồm 22 yếu tố Giữa các yếu tố của tam giác có các quan hệ cho phép ta có thể tính ra được các yếu tố cần thiết trong tam giác

Trang 16

từ giả thiết rằng đã biết một số yếu tố nào đó của tam giác Nhờ vào lý thuyết về mạng tính toán ta có thể cài đặt một chương trình để giải tam giác

Khi ta cho biết một số yếu tố của tam giác và yêu cầu tính ra một số yếu tố khác, chương trình sẽ cho chúng ta một lời giải (nếu bài toán là giải được) Trong trường hợp bài toán không giải được thì chương trình sẽ thông báo để ta cho thêm dữ kiện hoặc điều chỉnh lại bài toán

Trong tam giác ABC giả sử đã biết góc A, cạnh b, chu vi p Hãy tính diện tích tam giác

và đường cao ha Như vậy ta có :

Giả thiết: A, b, p

Tính các biến: S, ha

Áp dụng thuật toán tìm lời giải ta có lời giải gồm các bước tính toán như sau :

Bài toán không có lời giải, phải bổ sung thêm giả thiết B thì bài toán mới có thể giải được

Lời giải sau khi bổ sung giả thiết:

Trang 17

Trong tam giác ABC giả sử đã biết cạnh a, góc , góc  Hãy tính các cạnh còn lại (cạnh

b và cạnh c) và đường cao ha Như vậy ta có :

Trang 18

Ví dụ 2 : Từ lưu huỳnh (S) và nước (H2O) ta có thể điều chế được axit sunfuaric (H2SO4) không ?

Giải : Áp dụng các thuật toán tìm lời giải cho mạng tính toán các chất hóa học, dò theo các phản ứng liên quan đến lưu huỳnh và nước ta tìm ra được quá trình điều chế như sau :

K2CO3 + H2SO4 

Trang 19

Ba(NO3)2 + H2SO4 

Ví dụ 5 : Viết phương trình phản ứng theo các sơ đồ sau :

FeS + ?  FeCl2 + ? CuSO4 + ?  ? + Na2SO4

Ví dụ 6 : Từ muối NaCl và nước (H2O) ta có thể điều chế được axit clohidric (HCl) và NaOH không ?

II Thiết kế và cài đặt:

1 Mô hình tri thức cho bài toán giải tam giác:

1.1 Mô hình mạng tính toán:

Sau khi phân tích giả thiết, thuật giải của bài toán sẽ đưa đoạn mạch về mô hình mạng tính toán (M, F) với:

M: danh sách các thuộc tính của tam giác

F: danh sách các quan hệ giữa các thuộc tính trong M, mỗi quan hệ là một danh sách gồm:

1 Chuỗi giải thích về quan hệ

2 1 (nghĩa là đối xứng), 0 (nghĩa là không đối xứng)

3 Tập hợp các thuộc tính cần biết để suy ra thuộc tính cần tính trong công thức liên hệ

4 hạng (rank) của quan hệ

5 Tập hợp các thuộc tính được suy ra trong quan hệ

6 Công thức liên hệ giữa các thuộc tính

Từ mô hình mạng tính toán (M, F) này, thuật giải tìm lời giải cho bài toán A  B sẽ đưa

ra lời giải tương ứng cho bài toán, nếu thiếu giả thiết thì thuật giải bổ sung giả thiết sẽ đưa

ra những giả thiết cần bổ sung

1.2 Lưu trữ tri thức tam giác trên máy tính:

Tri thức về bài toán tam giác sẽ được lưu thành file: TamGiac.txt

File TamGiac.txt (file đính kèm) diễn tả mối quan hệ giữa các thuộc tính của một tam giác có cấu trúc được ghi như mô hình mạng tính toán ở trên

2 Mô hình tri thức cho bài toán hóa học:

Tri thức về bài toán hóa học sẽ được lưu thành file: HoaHoc.txt

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w