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

HỆ SUY DIỄN TIẾN VÀ GIẢI TAM GIÁC BẰNG MAPLE

32 907 7

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

Nội dung

Chương trình có thể mở rộng ra để biễu diễn và tính toán các công thức, các định luật, định lý trong hình học phẳng, hình học không gian.. I.1.2 Cấu trúc của hệ giải toán dựa trên tri th

Trang 1

ĐẠI HỌC QUỐC GIA TP.HCM

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

-[ \ -

TIỂU LUẬN MÔN HỌC:

LẬP TRÌNH SYMBOLIC

ĐỀ TÀI:

HỆ SUY DIỄN TIẾN

VÀ GIẢI TAM GIÁC BẰNG MAPLE

GVHD : PGS.TS Đỗ Văn Nhơn Người thực hiện : Nguyễn Hoàng Sỹ

Mã số : CH1101037

Lớp : CH06

Tp.HCM, tháng 01 năm 2013

Trang 2

MỤC LỤC



MỤC LỤC 1

LỜI NHẬN XÉT 3

LỜI MỞ ĐẦU 4

Chương I: CƠ SỞ LÝ THUYẾT 5

I.1 TỔNG QUAN: 5

I.1.1 Khái niệm: 5

I.1.2 Cấu trúc của hệ giải toán dựa trên tri thức: 7

I.1.3 Các thành phần chính của hệ thống trong việc giải toán: 7

I.2 HỆ SUY DIỄN: 8

I.2.1 Khái niệm: 8

I.2.2 Suy diễn tiến: 8

I.2.3 Suy diễn lùi: 9

I.2.4 Suy diễn hỗn hợp: 10

I.3 HỆ LUẬT – ĐỊNH LÝ GIẢI TAM GIÁC : 11

I.3.1 Khái niệm : 11

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

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

I.3.4 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông : 15

I.3.5 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông cân : 16

Trang 3

I.3.6 Các hệ thức cơ bản giữa các yếu tố của tam giác đều : 17

Chương II: PHẦN CHƯƠNG TRÌNH 19

PHẦN A: XÂY DỰNG HÀM SUY DIỄN TIẾN 19

A.1 Giới thiệu ý tưởng: 19

A.2 Thuật giải : 19

A.3 Viết thủ tục chương trình: 20

PHẦN B: XÂY DỰNG HÀM GIẢI TAM GIÁC 22

B.1 Giới thiệu ý tưởng: 22

B.2 Thuật giải: 22

B.3 Viết thủ tục chương trình: 24

Chương III: DEMO CHƯƠNG TRÌNH GIẢI TAM GIÁC BẰNG MAPLE 26

III.1 Giới thiệu phạm vi: 26

III.2 Yêu cầu cài đặt: 26

III.3 Demo bằng Maple: (đính kèm) 26

III.3.1 Hàm Suy diễn tiến: 26

III.3.1 Hàm Suy diễn tiến giải tam giác: 27

KẾT LUẬN 30

TÀI LIỆU THAM KHẢO 31

Trang 4

LỜI NHẬN XÉT

Trang 5

LỜI MỞ ĐẦU



Từ trước đến nay, vấn đề biểu diễn tri thức, tin học hóa các ngành nghề trong cuộc sống của con người Biểu diễn các dạng ngữ nghĩa, các dạng tri thức trên máy tính là một đề tài hết sức hấp dẫn, luôn được các nhà khoa học và những người làm tin học nghiên cứu

và ứng dụng Một trong những ngành khoa học được ứng dụng nhiều nhất đó chính là ngành toán học

Điển hình trong toán học, lĩnh vực hình học về giải tam giác là một chủ đề được rất nhiều nhà toán học quan tâm Trong suốt quá trình phát triển, họ không ngừng đưa ra được các định lý, các nguyên lý, các định luật về hình học tam giác Đến ngày nay, các định lý các định luật, các công thức về tam giác được tìm ra, được phát minh tương đối đầy đủ và được phổ cập trong các bậc học phổ thông

Tuy nhiên việc biểu diễn các định lý, định luật trên mới được sử dụng bằng phương pháp truyền thống, và việc truyền đạt lại cho thế hệ sau vẫn còn gặp một số khó khăn nhất định Để giúp cho người dạy, người học có thể dễ truyền đạt, dễ hiểu Trong tiểu luận

này, tôi sẽ áp dụng môn học “LẬP TRÌNH SYMBOLIC GIẢI TAM GIÁC BẰNG

MAPLE” cùng với thuật giải ”SUY DIỄN TIẾN”

Chương trình có thể mở rộng ra để biễu diễn và tính toán các công thức, các định luật, định lý trong hình học phẳng, hình học không gian

Tôi chân thành cảm ơn Thầy PGS.TS Đỗ Văn Nhơn đã truyền đạt những kiến thức quý báu về khái niệm, ý nghĩa, các tài liệu, mô hình và cơ chế suy diễn, thiết thực hơn, nâng cao hiểu biết, cung cấp kiến thức mở rộng phục vụ cho quá trình nghiên cứu về sau vào từng lĩnh vực ứng dụng đặc thù với những đặc trưng riêng./

Trang 6

Chương I: CƠ SỞ LÝ THUYẾT

I.1 TỔNG QUAN:

I.1.1 Khái niệm:

Khái niệm: Tri thức (knowledge) là sự hiểu biết về một lĩnh vực của chủ đề Lĩnh vực: miền chủ đề được chú trọng Tri thức thường bao gồm các khái niệm, các loại sự kiện, các luật,

Phương pháp biểu diễn tri thức bằng luật sinh được phát minh bởi Newell và Simon trong lúc hai ông đang cố gắng xây dựng một hệ giải bài toán tổng quát Đây là một kiểu biểu diễn tri thức có cấu trúc Ý tưởng cơ bản là tri thức có thể được cấu trúc bằng một

cặp điều kiện & hành động : "NẾU điều kiện xảy ra THÌ hành động sẽ được thi hành"

- Chẳng hạn :

NẾU đèn giao thông là đỏ THÌ bạn không được đi thẳng,

NẾU máy tính đã mở mà không khởi động được THÌ kiểm tra nguồn điện, v.v… Ngày nay, các luật sinh đã trở nên phổ biến và được áp dụng rộng rãi trong nhiều hệ thống trí tuệ nhân tạo khác nhau Luật sinh có thể là một công cụ mô tả để giải quyết các vấn đề thực tế thay cho các kiểu phân tích vấn đề truyền thống Trong trường hợp này, các luật được dùng như là những chỉ dẫn (tuy có thể không hoàn chỉnh) nhưng rất hữu ích để trợ giúp cho các quyết định trong quá trình tìm kiếm, từ đó làm giảm không gian tìm kiếm

- Một ví dụ khác là luật sinh có thể được dùng để bắt chước hành vi của những chuyên gia Theo cách này, luật sinh không chỉ đơn thuần là một kiểu biểu diễn tri thức trong máy tính mà là một kiểu biễu diễn các hành vi của con người

* Một cách tổng quát luật sinh có dạng như sau:

P 1 P 2 Pn  Q

Tùy vào các vấn đề đang quan tâm mà luật sinh có những ngữ nghĩa hay cấu tạo khác nhau :

Trang 7

- Trong logic vị từ : P1, P2, , Pn, Q là những biểu thức logic

- Trong ngôn ngữ lập trình, mỗi một luật sinh là một câu lệnh

IF (P1 AND P2 AND AND Pn) THEN Q

- Trong lý thuyết hiểu ngôn ngữ tự nhiên, mỗi luật sinh là một phép dịch:

Ví dụ : Cho 1 cơ sở tri thức đƣợc xác định nhƣ sau :

Trang 8

I.1.2 Cấu trúc của hệ giải toán dựa trên tri thức:

Hình: Cấu trúc của một hệ giải toán thông minh

I.1.3 Các thành phần chính của hệ thống trong việc giải toán:

Hệ giải toán thông minh có thể giải được các dạng bài toán tổng quát trong một miền tri thức

- Cơ sở tri thức (Knowledge Base) Đây là trái tim của hệ thống, trong đó chứa các kiến thức cần thiết cho việc giải các bài toán

- Bộ suy diễn (hay mô tơ suy diễn) Bộ suy diễn sẽ áp dụng kiến thức được lưu trữ trong cơ sở tri thức để giải quyết hay tìm lời giải cho các bài toán đặt ra

Sự tách biệt: tính độc lập tương đối giữa cơ sở tri thức và bộ suy diễn

Trang 9

- Cho phép cùng một chiến lược điều khiển và giao tiếp có thể được sử dụng cho nhiều hệ thống khác nhau

- Sự tách biệt của kiến thức giải bài toán và bộ suy diễn còn giúp ta có thể thử nghiệm nhiều chiến lượt điều khiển khác nhau trên cùng một cơ sở tri thức

I.2 HỆ SUY DIỄN:

I.2.1 Khái niệm:

Một tập hợp các công thức liên hệ tính toán trên các yếu tố của tam giác Suy diễn nhằm vận dụng kiến thức đã biết trong quá trính lập luận giải quyết vấn đề trong đó quan trọng nhất là các chiến lược điều khiển giúp phát sinh những sự kiện mới từ các sự kiện đã có Suy diễn tự động: Quá trình suy diễn được thuật giải hóa và có thể cài đặt thành chương trình máy tính

Các kỹ thuật suy diễn cơ bản:

- Suy diễn tiến

- Suy diễn lùi

I.2.2 Suy diễn tiến:

Phương pháp: Suy dẫn từ giả thiết đi đến kết luận

Chiến lược này được bắt đầu bằng tập sự kiện đã biết, rút ra các sự kiện mới nhờ dùng các luật mà phần giả thiết khớp với sự kiện đã biết, và tiếp tục quá trình này cho đến khi thấy trạng thái đích, hoặc cho đến khi không còn luật nào khớp được các sự kiện đã biết hay được sự kiện suy luận

Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắc heuristic trong việc chọn luật

Ví dụ: tiếp theo các luật trên

Sự kiện ban đầu : H, K

R3 : H  A {A, H K } R1 : A  E { A, E, H, K }

Trang 10

R5 : E  K  B { A, B, E, H, K }

R2 : B  D { A, B, D, E, H, K } R6 : D  E  K  C { A, B, C, D, E, H, K }

I.2.3 Suy diễn lùi:

Phương pháp: Truy ngược từ kết luận trở về giả thiết

Phương pháp này được tiến hành bằng cách truy ngược từ mục tiêu cần đạt được trở về phần giả thiết của bài toán bằng cách áp dụng các luật trong cơ sở tri thức

Quá trình suy diễn lùi này sẽ phát sinh một sơ đồ cây mục tiêu kèm theo một cơ chế quay lui và lời giải sẽ được tìm thấy khi tất cả các mục tiêu ở các nút lá của cây mục tiêu đều thuộc về những sự kiện đã biết

Trong áp dụng cụ thể phương pháp thường sử dụng kết hợp với các qui tắc heuristic trong việc chọn luật

Trang 11

R2 Nếu (điện vào máy là "có") và ( (âm thanh đọc ổ cứng là "không") hoặc tình trạng đèn ổ cứng là "tắt")) thì (ổ cứng "hỏng")

R3 Nếu (điện vào máy là "có") và (tình trạng đèn màn hình là "chớp đỏ") thì (cáp màn hình "lỏng")

Để xác định được các nguyên nhân gây ra sự kiện "không sử dụng được máy tính", ta phải xây dựng một cấu trúc đồ thị gọi là đồ thị AND/OR như sau :

Ví dụ câu hỏi "Bạn kiểm tra xem có điện vào máy tính không (kiểm tra đèn nguồn)?

(C/K)" Để thực hiện được cơ chế suy luận lùi, người ta thường sử dụng ngăn xếp (để

ghi nhận lại những nhánh chưa kiểm tra)

Hình: Cơ chế suy diễn của suy diễn lùi

I.2.4 Suy diễn hỗn hợp:

Phương pháp: Kết hợp 2 quá trình suy diễn tiến và suy diễn lùi nhằm khắc phục khuyết điểm của mỗi phương pháp và nâng cao hiệu quả của quá trình suy diễn trong áp dụng

cụ thể

Nhược điểm của suy diễn tiến: Không cảm nhận được sự gần tới đích

Nhược điểm của suy diễn lùi: thường dẫn tới sự phân nhánh lớn và không cảm nhận được sự cần chuyển hướng dòng suy nghĩ

Trang 12

I.3 HỆ LUẬT – ĐỊNH LÝ GIẢI TAM GIÁC :

I.3.1 Khái niệm :

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ố đó

Kiến thức về một tam giác cần thiết cho việc giải bài toán tam giác có thể được biểu diễn gồm:

Một tập hợp các biến thực, mỗi biến đại diện cho một yếu tố của tam giác

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

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

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

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

ma, mb, mc : 3 đường trung tuyến tương ứng với 3 cạnh của tam giác (Hình 1.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

Hình 1.1

Trang 13

Hình 1.2a 3 đường cao Hình 1.2b 3 đường trung tuyến

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

  

f6 : c

sin

b sin

  

f7 : a

sin

c sin

Trang 15

Trong các công thức trên, có một số công thức có thể đƣợc suy ra từ các công thức khác

Do đó ta có thể bỏ bớt một số công thức Hơn nữa, chúng ta có thể nêu lên một 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

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

Tam giác cân (không làm mất tính tổng quát, ta giả sử cân tại A) là một tam giác có các

tính chất sau đây:

g1 : b = c

g2 :  = 

g : h = h

Trang 16

I.3.4 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông :

Không làm mất tính tổng quát, ta giả sử tam giác vuông có cạnh huyền là a Nhƣ thế,

ngoài những hệ thức đã biết trong tam giác nói chung ta còn có :

g1 :  = /2 ( đã xác định)

Ngoài ra một số quan hệ có thể đƣợc viết lại nhƣ sau:

Trang 17

I.3.5 Các hệ thức cơ bản giữa các yếu tố của tam giác vuông cân :

Tam giác vuông cân (với cạnh đáy tam giác cân là a) là một tam giác có :

Trang 18

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

Tam giác đều là một tam giác có :

g1 : a = b

g2 : b = c

Tất cả các quan hệ từ f1 đến f36 có thể đƣợc thay thế bởi các quan hệ sau :

f1 :  = /3 (radian)

Trang 20

Chương II: PHẦN CHƯƠNG TRÌNH

PHẦN A: XÂY DỰNG HÀM SUY DIỄN TIẾN

A.1 Giới thiệu ý tưởng:

Hệ suy diễn tiến là suy diễn tiến trên "hệ luật dẫn cơ bản" (gồm tập sự kiện và tập luật dẫn)

Giả sử có tập giả thiết cho trước H (H là tập con F), ta muốn suy ra 1 tập mục tiêu G (G

là tập con của F) Tìm dãy các luật để từ H suy ra được G (hay còn gọi là tìm lời giải cho bài toán suy diễn)

- Phần giả thiết phải nằm trong H

- Phần kết luận không nằm trong H

Mỗi khi tìm được luật áp dụng ghi nhớ luật đó, đồng thời ghi nhận sự kiện mới áp dụng suy ra từ đó Cứ lặp lại cho đến khi tập sự kiện ta có trùng với tập G Có trường hợp dừng khi tìm luật không có

+ Biến (với kiểu dữ liệu nhất định): giả thiết F(Facts), R(Rules), H(GT), G(KL)

Biến tìm lời giải solution(Sol): danh sách các luật được áp dụng

Trang 21

Biến Facts_known(Known): lưu lại tập sự kiện đã biết, kiểu dữ liệu là tập sự kiện

Bước 1: Khởi tạo các biến

Solution:= [];

Facts_known:= H;

Bước 2:

while (chưa đạt được mục tiêu G) do

2.1 Tìm luật r thuộc R có thể áp dụng trên Facts_known nhằm sinh ra sự kiện

mới (gt(r)Facts_Known, và kl(r) không nằm trong Facts_Known.)

Cho kết quả tìm được lời giải Solution nếu có, list rỗng nếu không tìm thấy

A.3 Viết thủ tục chương trình:

Giả sử đã có (F,R), biến toàn cục

Trang 23

PHẦN B: XÂY DỰNG HÀM GIẢI TAM GIÁC

B.1 Giới thiệu ý tưởng:

Chương trình hỗ trợ việc dùng các định lý của tam giác, tạo thành tập các công thức để giải tam giác với:

Ý tưởng: Trong tam giác, giả sử ta biết 1 số thuộc tính tam giác

, ta có thể tính thêm một hoặc các thuộc tính còn lại của tam giác (theo định lý của tam giác)

Giá trị đầu vào

(Input)

Tập luật (Formula)

& Hệ luật suy diễn

Giá trị đầu ra (Output)

Phát sinh thêm các tập luật mới (dùng suy diễn tiến), nhằm tạo thêm giá trị cho việc tính toán theo yêu cầu của đề bài tam giác

Ví dụ:

Tính S; R

B.2 Thuật giải:

Ta định nghĩa:

+ Biến (với kiểu dữ liệu nhất định) và sử dụng các cấu trúc điều khiển

+ Solution: danh sách các công thức được áp dụng

+ Facts_known: tập các đẳng thức để tính và lưu lại tập sự kiện các biến đã biết

Bước 1: Khởi tạo các biến

Trang 24

while (G không nằm trong map(x->lhs(x), Facts_known)) do

2.1 Tìm 1 công thức f thuộc tập Fomula có thể áp dụng trên tập Facts_known

(Tìm công thức nào có đúng 1 biến chưa biết trong công thức để tính.)

Ví dụ :

cạnh a=5, b=4, c=3 công thức nào áp dụng được?

> nữa chu vi: p=(a+b+c)/2, lúc đó tập Facts_known là { a=5, b=4, c=3, p=6} Từ đó tính được S ; qua công thức S = sqrt(p*(p-a)*(p-b)*(p-c))

2.2 if (không tìm được f) then

Dừng: không tìm được lời giải

2.3 (Ý tưởng: Từ công thức f, thay thế và giải phương trình để tính ra biến mới

(thủ tục subs và solve), làm sao biến nào biến mới (check tập biến công thức "hàm indets" hiệu với tập biến trong facts_known tồn tại là biến mới))

Thêm f vào Solution;

Xác định biến mới sẽ tính ra: Vnew=V(f) - V(Facts_known);

Thay thế và giải: Newfact:=solve (subs(Facts_known, f), Vnew));

Facts_known := Facts_known union Newfact;

end do;

Bước 3:

Cho kết quả tìm được lời giải Solution nếu có, list rỗng nếu không tìm thấy

Trang 25

B.3 Viết thủ tục chương trình:

Trang 27

Chương III: DEMO CHƯƠNG TRÌNH GIẢI TAM GIÁC BẰNG MAPLE

III.1 Giới thiệu phạm vi:

Chương trình hỗ trợ giải tam giác từ các công thức, định lý của tam giác Người dùng nhập thông tin đầu vào: ví dụ như các cạnh, chương trình sẽ suy diễn tiến (từ các tập luật khởi tạo ban đầu của hệ thống) tạo ra các thông tin còn thiếu để suy ra kết luận mong muốn

III.2 Yêu cầu cài đặt:

Kiến thức các định lý về tam giác theo sách giáo khoa chương trình phổ thông

Máy tính có cài đặt chương trình Maple 14 trở về sau

III.3 Demo bằng Maple: (đính kèm)

III.3.1 Hàm Suy diễn tiến:

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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] “Giáo trình các hệ cơ sở tri thức” , Hoàng Kiếm, Đỗ Phúc, Đỗ Văn Nhơn, Nhà Xuất bản ĐHQG Tp.HCM, 2011 Sách, tạp chí
Tiêu đề: Giáo trình các hệ cơ sở tri thức
Nhà XB: Nhà Xuất bản ĐHQG Tp.HCM
[2] “Xây dựng hệ tính toán thông minh – xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tự động”, Đỗ Văn Nhơn, Luận án tiến sĩ, ĐHQG – HCM , 2001 – 2002 Sách, tạp chí
Tiêu đề: Xây dựng hệ tính toán thông minh – xây dựng và phát triển các mô hình biểu diễn tri thức cho các hệ giải toán tự động
[3] “Maple Advanced Programming Guide – Maplesoft”, a division of Waterloo Maple Inc. 1996 -2008 Sách, tạp chí
Tiêu đề: Maple Advanced Programming Guide – Maplesoft
[4] “Maple User Manual - Copyright © Maplesoft”, a division of Waterloo Maple Inc. 2005 Sách, tạp chí
Tiêu đề: Maple User Manual - Copyright © Maplesoft
[5] “Hướng dẫn sử dụng Maple – Nguyễn Hữu Điển” , Khoa Toán – Cơ – Tin học, ĐHKHTN Hà Nội Sách, tạp chí
Tiêu đề: Hướng dẫn sử dụng Maple – Nguyễn Hữu Điển
[6] “Sách giáo khoa – Phần Đại số Tam giác”, Nhà xuất bản giáo dục [7] Kham khảo tiểu luận về tập phổ biến của các khóa trước Sách, tạp chí
Tiêu đề: Sách giáo khoa – Phần Đại số Tam giác
Nhà XB: Nhà xuất bản giáo dục [7] Kham khảo tiểu luận về tập phổ biến của các khóa trước
[8] Wikipedia, URLs: http://www.maplesoft.com/products/Maple/index.aspx http://www.fshare.vn/file/3K8XB6Q6VV/ Link

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

TÀI LIỆU LIÊN QUAN

w