MẠNG TÍNH TOÁN1.1 Mạng tính toán 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
Trang 1LỜI MỞ ĐẦU i
1.1 Mạng tính toán 2
1.1.1 Các quan hệ 2
1.2 Bài toán trên mạng tính toán 2
1.3 Mô hình biểu diễn tri thức mạng tính toán 3
1.3.1 Thuật toán: 4
Chương 2 MỘT SỐ ỨNG DỤNG CỦA MAPLE VÀO GIẢI MỘT SỐ TOÁNĐẠI SỐ, HÌNH HỌC PHẲNG 6
2.1 Áp dụng giải bài toán tam giác vuông 6
2.1.1 Mô tả bài toán 6
2.1.2 Tổ chức File lưu tri thức trên máy tính 7
2.1.3 Thuật giải: 8
2.1.4 Thủ tục: 9
2.1.5 Dữ liệu thử nghiệm: 12
2.2 Áp dụng giải và biện luận phương trình bậc 2 theo tham số m 12
2.2.1 Mô tả bài toán: 12
2.2.2 Trình bày cấu trúc dữ liệu 13
2.2.3 Thuật giải 13
2.2.4 Thủ tục 14
2.2.5 Dữ liệu thử nghiệm 15
2.3 Áp dụng giải bài toán khảo sát đồ thị hàm số 15
2.3.1 Mô tả bài toán: 15
Trang 2LỜI MỞ ĐẦU
Một trong những vấn đề hiện nay đang được quan tâm của “Trí tuệ Nhântạo” là nghiên cứu các phương pháp biểu diễn và xử lý tri thức Trên cơ sở đó có thểtạo ra những chương trình “thông minh” ở một mức độ nào đó Trong nhiều lĩnhvực chúng ta thường gặp những vấn đề đặt ra dưới dạng như sau: Chúng ta phảithực hiện những tính toán hay suy diễn ra những yếu tố cần thiết nào đó từ một sốyếu tố đã được biết trước Để giải quyết vấn đề người ta phải vận dụng một số hiểubiết (tri thức) nào đó về những liên hệ giữa các yếu tố đang được xem xét Nhữngliên hệ cho phép ta có thể suy ra được một số yếu tố từ giả thiết đã biết một số yếu
tố khác
Do đó, để biểu diễn thông tin sao cho có thể tìm được thông tin nhanh chóng
và chính xác là một vấn quan trọng, luôn thu hút nhiều sự quan tâm của các nhàkhoa học Đặc biệt, là việc nghiên cứu và phát triển các mô hình biểu diễn tri thức
và tính toán tự động chiếm một vị trí rất quan trọng trong ngành toán học, khoa họcmáy tính, và nhất là đối với các hệ trí tuệ nhân tạo
Maple là một hệ thống tính toán trên các biểu thức đại số và minh họa toánhọc mạnh mẽ của công ty Warteloo Maple Inc Maple ra đời từ năm 1991 đến nay
đã phát triển đến phiên bản 16 Maple có cách cài đặt rất đơn giản, chạy 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áccô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 nước trên thế giới lựa chọn sử dụng Maple cùng cácphần mềm toán học khác trong dạy học toán đòi hỏi của thực tiễn và sự phát triểncủa giáo dục
Trong quá trình tiếp cận và nghiên cứu Maple, tôi nhận thấy rằng ngoài cáctính năng tính toán và minh họa rất mạnh mẽ bằng các câu lệnh riêng biệt, Maplecò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áclệ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
Trong khuôn khổ của báo cáo này, tôi xin trình bày một vài kết quả đạt đượctrong việc sử dụng Maple để lập thủ tục giải các bài toán đại số và hình học khônggian của chương trình toán THPT (trung học phổ thông)
Tôi xin chân thành cảm ơn PGS.TS Đỗ Văn Nhơn, Giảng viên môn học
“Lập trình Symbolic và Ứng dụng”, Thầy đã truyền đạt những kiến thức quý báu về
ngôn ngữ lập trình Symbolic cho trí tuệ nhân tạo, các thủ tục, cấu trúc của hệ giảitoán dựa trên cơ sở tri thức và ứng dụng, cũng như những hướng nghiên cứu chínhtrên thế giới hiện nay của nó Tôi xin chân thành cảm ơn Ban cố vấn học tập và Banquản trị Chương trình đào tạo thạc sĩ Công nghệ thông tin của Đại học Công nghệThông tin – Đại học Quốc Gia Thành phố Hồ Chí Minh đã tạo điều kiện về tài liệuhọc tập và tham khảo
Trang 3Chương 1 MẠNG TÍNH TOÁN
1.1 Mạng tính toán
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ínhtoá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ềnvớ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
1.1.1 Các quan hệ
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ềnxác định tương ứng D1,D2, ,Dm Đối với mỗi quan hệ R D1xD2x xDm trên các tậphợ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) (ký hiệu 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, hay vắn tắt là f : 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ĩanhư là một hàm: ta có thể tính được giá trị của các biến thuộc v khi biết được giá trịcủa các biến thuộc u
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ếnkia (ở đâ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õ taviế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ộthà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:
A+B+C = 180 (đơn vị: độ)
1.2 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
Trang 4Các vấn đề đặt ra là:
1 Có thể xác định được tập B từ tập A nhờ các quan hệ trong F hay không? Nóicá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?
2 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ếnthuộc B như thế nào?
3 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) đượcviế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ínhtoá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ụngsuy 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ênA), 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ệ trongdã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ụngdãy quan hệ D
1.3 Mô hình biểu diễn tri thức mạng tính toán
Mô hình mạng tính toán là mô hình biểu diễn tri thức có thể dùng biểu diễn cáctri 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ố dạngbà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à mối quan hệ cóthể cài đặt và sử dụng cho việc tính toán Như vậy một mô hình mạng tính toán gồmhai thành phần:
Mô hình: (M, F)
M: tập các biến đơn, như các biến thực
F: Tập các luật dạng phương trình trên các biến của M
Lời giải trên mô hình mạng tính toán:
Trang 5Cho 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ằngcó 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ệubao đóng của A là A ), bài toán A B (trên mơ hình mạng tính tốn)là giải đượckhi và chỉ khi B A
Thuật tốn tìm bao đóng của tập A M:
Nhập: Mạng tính toán (M,F),
1.3.1 Thuật tốn:
Thuật toán tìm một lời giải cho bài toán A B:
Nhập: Mạng tính toán (M,F), 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 toán A B
end
else
Trang 6Solution_found false;
3 Repeat
Aold A;
Chọn ra một f F chưa xem xét;
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) ) thenbegin
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;
Trang 7Chương 2 MỘT SỐ ỨNG DỤNG CỦA MAPLE VÀO GIẢI MỘT SỐ
TOÁN ĐẠI SỐ, HÌNH HỌC PHẲNG
Trong chương này, trình bày một số ứng dụng của ngôn ngữ lập trình Maple(Maple 16) để giải bài toán: Tam giác vuông; Khảo sát và vẽ đồ thị hàm số; và Giải vàbiện luận phương trình bậc 2 theo tham số m
2.1 Áp dụng giải bài toán tam giác vuông
Cho tam giác vuông và tập các yếu tố (như cạnh: a, b, c, góc: A, B, C,…) trongtam giác vuông được liên hệ với nhau bằng các công thức, có một số yếu tố đã chotrước Tìm một số yếu tố chưa biết
Input: - Tập các yếu tố trong tam giác vuông
- Tập các công thức thể hiện mối liên hệ của các yếu tố trên
- Một số yếu tố cho trước
Output: Tìm một số yếu tố chưa biết
2.1.1 Mô tả bài toán
Thu thập tri thức và xác định yêu cầu các vấn đề:
Tri thức gồm: Khái niệm tam giác vuông, các công thức liên quan đến thông sốcủa các yếu tố trong tam giác vuông: góc, cạnh, đường cao, diện tích,…
a,b: ký hiệu cho 2 cạnh góc vuông trong tam giác vuông
A, B và C: ký hiệu cho ba góc trong tam giác vuông, A=Pi/2
S: ký hiệu cho diện tích của tam giác vuông
R: kí hiệu cho bán kính đường tròn ngoại tiếp
ha,hb và hc: ký hiệu ba đường cao tương ứng ba cạnh trong tam giác vuông
ra, rb và rc: ký hiệu bán kính các đường tròn bàng tiếp tam giác vuông
ma,mb và mc: ký hiệu ba đường trung tuyến ứng với ba cạnh tam giác vuông
- Tập luật dạng phương trình: biễn diễn mối quan hệ giữa các biến trong tậpbiến
Ví dụ:
Mối liên hệ giữa ba cạnh trong tam giác vuông: c2 = a2 + b2
Mối liên hệ giữa diện tích tam giác và cạnh góc vuông: S12bc
Mối liên hệ giữa bán kính đường tròn ngoại tiếp và cạnh huyền: R12a
Mối liên hệ giữa chu vi và các cạnh: 2p=(a+b+c)
Trang 8Mối liên hệ giữa hai góc trong tam giác vuông: B + C=90
0
Mô hình biểu diễn như sau:
V={a, b, c, A, B, C, ma, mb, mc, ha, hb, hc, ra,rb,rc, R, S}
R={ri, ri là các công thức thể hiện mối liên hệ giữa các yếu tố trong tam giácvuông}
2.1.2 Tổ chức File lưu tri thức trên máy tính
a File lưu tri thức V là file:
- File có tên là “cacyeuto.txt »
- Vị trí lưu: lưu trên Folder có đường dẫn là: D:\ tamgiac
A : góc thứ nhất của tam giác
B : góc thứ hai của tam giác
C : góc thứ ba của tam giác
R : bán kính đường tròn ngoại tiếp
S : diện tích của tam giác vuông
p : chu vi của tam giác vuông
b File lưu tri thức R:
Tập các công thức thể hiện mối quan hệ giữa các yếu tố trong tập V là file:
- File có tên là “tapluat.txt”
- Vị trí lưu trên Folder có đường dẫn là: D:\tamgiac
: Công thức tính diện tích tam giác
: Công thức tính bán kính đường tròn ngoại tiếp: Hai góc còn lại của tam giác có tổng bằng 90
0
c File lưu giả thiết và các yêu cầu của bài toán là File có dạng:
- Tên File là: « giathiet.txt »
- Vị trí lưu: trên Folder có đường dẫn D:\tamgiac
Trang 9- Cấu trúc File gồm 2 phần:
+ PHẦN GIẢ THIẾT: ghi giả thiết của bài toán, có nghĩa là các yếu tố chotrước của tam giác Được người dùng nhập vào file này mỗi yếu tố được lưu trữ mộtdòng Ví dụ:
và lưu trữ trong biến KL có kiểu dữ liệu là tập hợp
Thuật giải áp dụng thuật giải suy diễn tiến để suy ra lời giải của bài toán
Dùng ngôn ngữ Maple 16 để thực hiện việc lập trình
Sol:=[];
KnownVar:=[];
KnownVal:=[];
KnownVal:=map(x->lhs(x),KnowVal) #là tập hợp gồm các biến
#lấy từ vế trái của KnownVal
Bước 2 While (KL không nằm trong KnownVar)) do
2.1 Tìm một công thức f thuộc Formular có thể áp dụng trênKnownVal(ta phải đưa ra công thức nào tính được)
2.2 if (không tìm được r) then Dừng, không tìm được lời giải2.3 Thêm f vào solution
Vnew:=indets(f) minus KnownVarThay thế tập giá trị đã biết vào công thức và giảiNewFact:=solve(subs(KnownVal,f),Vnew)KnownVal:=KnownVal union NewFact
Trang 102.1.4 Thủ tục:
a Thủ tục đọc các tập luật dạng phương trình:
b Thủ tục đọc các yếu tố:
Trang 11d Thủ tục đọc các giả thiết và kết luận:
Trang 12e Thủ tục tính toán:
Trang 132.1.5 Dữ liệu thử nghiệm:
Cho tam giác vuông, vuông tại A, cạnh a=4, b=5 Hãy tìm p (chu vi), R (bánkính đường tròn ngoại tiếp tam giác), và S (diện tích tam giác)
Áp dụng thủ tục trên ta có kết quả như sau:
2.2 Áp dụng giải và biện luận phương trình bậc 2 theo tham số m
2.2.1 Mô tả bài toán:
Input: phương trình đa thức dạng chuẩn theo tham số m
Output: nghiệm của phương trình đa thức
Tùy theo giá trị của tham số m, cho biết số nghiệm của phương trình bậc hai:(2m-1)x2 – (m+2)x + m – 1 = 0
Trang 14Xét dấu theo m ta được:
- m < 0 hoặc m > 16/7 => < 0 => phương trình đã cho vô nghiệm
- m = 0 => = 0 => phương tình đã cho có nghiệm kép x1=x2= -1
m =16/7 => = 0 => phương trình đã cho có nghiệm kép x1=x2= 3/5
- 0 < m <16/7 => > 0 => phương trình đã cho có 2 nghiệm phân biệt
Kết quả:
m = 1/2 phương trình có nghiệm duy nhất x= -1/5
m = 0 => =0 => phương trình có nghiệm kép x = -1
m =16/7 => = 0 => phương trình đã cho có nghiệm kép x = 3/5
0 < m <16/7, m ≠ ½ phương trình có 2 nghiệm phân biệt
2.2.2 Trình bày cấu trúc dữ liệu
Mặc định vế phải bằng 0, vế trái là dạng chuẩn
- Phương trình vô nghiệm;
2.2.3 Nếu delta = 0
- Phương trình có nghiệm kép 2.2.4 Nếu delta > 0
- Phương trình có 2 nghiệm phân biệt: x1= ; x2=
Trang 152.2.4 Thủ tục
Trang 162.2.5 Dữ liệu thử nghiệm
2.3 Áp dụng giải bài toán khảo sát đồ thị hàm số
Bài toán khảo sát hàm số là một trong những bài toán cơ bản trong chương trìnhtoán ở trung học phổ thông (THPT), luôn có trong các đề thi tốt nghiệp THPT vàtuyển sinh cao đẳng, đại học hàng năm
2.3.1 Mô tả bài toán:
Các bước để khảo sát hàm số: y=f(x)= ax3 + bx2 + cx +d với a≠0
1 Tìm tập xác định hàm số
2 Xét sự biến thiên của hàm số:
a Chiều biến thiên: tính đạo hàm y’, xét dấu y’ để suy ra chiều biếnthiên đồ thị hàm số
b Cực trị: đạo hàm và chiều biến thiên tìm các điểm cực trị (nếu có) các