Tải bản đầy đủ (.doc) (22 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.68 MB, 22 trang )

MỤC LỤC
LỜI MỞ ĐẦU i
Chương 1. MẠNG TÍNH TOÁN 2
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
Chương 3. KẾT LUẬN 20
TÀI LIỆU THAM KHẢO 21
- i -
LỜI MỞ ĐẦU
Một trong những vấn đề hiện nay đang được quan tâm của “Trí tuệ Nhân
tạ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ĩnh
vực chúng ta thường gặp những vấn đề đặt ra dưới dạng như sau: Chúng ta phải
thự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ểu
biế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ững
liê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ọc
má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án
họ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á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 nước 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 trong dạy học toán đòi hỏi của thực tiễn và sự phát triển


củ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ác
tí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, 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.
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 được
trong 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ông
gian 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ải
toá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ính
trê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à Ban
quả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ệu
học tập và tham khảo.
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Chươ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í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.
1.1.1 Các quan hệ
Cho M = {x

1
,x
2
, ,x
m
} 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 tương ứng D
1,
D
2
, ,D
m
. Đối với mỗi quan hệ R ⊆ D
1
xD
2
x xD
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) (ký hiệu 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, 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ĩa
như 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ến kia (ở đây x là bộ gồm m biến < x
1
,x

2
, ,x
m
>). 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:
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.
Nguyễn Văn Quang - CH1101126 2
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Cá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ó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?
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ến
thuộ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) đượ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ệ {f
1
, f

2
, , f
k
} ⊆ 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ệ f
i
(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 {f
1
, f
2
, , f
k
} đượ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 = {f
1
, f
2
, , f
k
} 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ệ f
1

, f
2
, , f
k
xuất phát từ giả thiết A.
Nhận xét : Trong định nghĩa trên, nếu đặt : A
0
= A, A
1
= A
0
∪ M(f
1
), . . . , A
k
=
A
k-1
∪ M(f
k
), và ký hiệu A
k
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.
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á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ố

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à 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ồm hai 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:
Nguyễn Văn Quang - CH1101126 3
Khóa luận mơn học: Lập trình Symbolic và Trí tuệ Nhân tạo
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
. ), bài toán A → B (trên mơ hình mạng tính tốn)là giải được
khi 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),
A ⊆ M.
Xuất:
A
Thuật toán:
1. B ← A;
2. Repeat
B1 ← B;
for f ∈ F do
if ( f đối xứng and Card (M(f) \ B) ≤ r(f) ) or

( f không đối xứng and M(f) \ B ⊆ v(f) ) then
begin
B ← B ∪ M(f);
F ← F \ {f}; // loại f khỏi lần xem xét sau
end;
Until B = B1;
3.
A
← B;
để 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).
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
Thuật toán:
1. Solution ← empty; // Solution là dãy các quan hệ sẽ áp dụng
2. if B ⊆ A then
begin
Solution_found ← true; // biến Solution_found = true khi bài toán là
// giải được
goto 4;
end
else
Nguyễn Văn Quang - CH1101126 4
Khóa luận mơn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Solution_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) ) then
begin
A ← A ∪ M(f);
Solution ← Solution ∪ {f};
end;
if B ⊆ A then
Solution_found ← true;
Chọn 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;
Nguyễn Văn Quang - CH1101126 5
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
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
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,…) trong
tam 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ố đã cho

trướ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,….
Mô hình mạng tính toán gồm 2 thành phần:
- Tập biến: các yếu tố liên quan đến việc tính toán trong tam giác vuông: 3
cạnh, 3 góc, đường cao, diện tích, chu vi, bán kính đường tròn ngoại tiếp,…
Mỗi yếu tố trong tam giác vuông được biểu diện bằng một biến số thực dương:
c: kí hiệu cho cạnh huyền của tam giác vuông
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ập
biến.
Ví dụ:
Mối liên hệ giữa ba cạnh trong tam giác vuông: c
2
= a
2
+ b
2

Mối liên hệ giữa diện tích tam giác và cạnh góc vuông:
1
2
S bc
=
Mối liên hệ giữa bán kính đường tròn ngoại tiếp và cạnh huyền:
1
2
R a
=
Mối liên hệ giữa chu vi và các cạnh:
2p=(a+b+c)
Nguyễn Văn Quang - CH1101126 6
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Mố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={r
i
, r
i
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ác
vuô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
- Cấu trúc File:
Mỗi yếu tố trong tam giác được lưu trên một dòng và được ký hiệu là một biến

riêng biệt, có phân biệt chữ hoa và chữ thường.
c : cạnh huyền trong tam giác vuông.
a : cạnh góc vuông thứ nhất.
b : cạnh góc vuông thứ hai.
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ấu trúc File gồm:
1
2
A
π
=
: Thể hiện tam giác vuông tại đỉnh A.
c
2
= a
2
+ b
2
:Định lý pitago.
: 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
Nguyễn Văn Quang - CH1101126 7
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
- 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ố cho
trướ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ột
dòng. Ví dụ:
A=90
0
a=5
b=6
Khi thực thi chạy chương trình thì phần giả thiết được đọc từ file này và lưu
trong biến GT có kiểu dữ liệu là kiểu tập hợp.
+ PHẦN KẾT LUẬN : ghi các yếu tố cần tìm. Mỗi yếu tố cần tìm cũng được
lưu trữ trên một dòng. PHẦN GIẢ THIẾT VÀ PHẦN KẾT LUẬN được ngăn cách
nhau bằng từ: « Can tim ». khi chạy chương trình PHẦN KẾT LUẬN được đọc từ file
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.
2.1.3 Thuật giải:
Thuật giải trình bày cho thủ tục tính toán của tam giác vuông
Biến:
Sol: danh sách các công thức
KnownVal: ghi lại tập đã biết
KnownVar: ghi lại tập chưa biết
Bước1.

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ên
KnownVal(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ải
2.3. Thêm f vào solution
Vnew:=indets(f) minus KnownVar
Thay thế tập giá trị đã biết vào công thức và giải
NewFact:=solve(subs(KnownVal,f),Vnew)
KnownVal:=KnownVal union NewFact
Nguyễn Văn Quang - CH1101126 8
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
2.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ố:
Nguyễn Văn Quang - CH1101126 9
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
c.
d. Thủ tục đọc các giả thiết và kết luận:
Nguyễn Văn Quang - CH1101126 10
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
e. Thủ tục tính toán:
Nguyễn Văn Quang - CH1101126 11
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
2.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án

kí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)x
2
– (m+2)x + m – 1 = 0.
Nguyễn Văn Quang - CH1101126 12
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Ta xét các trường hợp:
a) m=1/2 => 2m-1 = 0 => phương trình trở thành phương trình bậc nhất: 5x +
1 =0 và có nghiệm duy nhất x = -1/5.
b) m ≠ ½, phương trình đã cho là phương trình bậc hai, có biệt thức:
∆ = (m+2)
2
– 4(m-1)(2m-1) => ∆ = -7m
2
+ 16m
Biệt thức ∆ = -7m
2
+ 16m là một tam thức bậc 2 đối với m, có nghiệm m= 0, m
= 16/7 và và hệ số của hạng tử bậc 2 là -7.
Xé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 x
1
=x

2
= -1
m =16/7 => ∆ = 0 => phương trình đã cho có nghiệm kép x
1
=x
2
= 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.
Ví dụ: (2m - 1)x
2
+( m + 2)x + m - 1 = 0
2.2.3 Thuật giải
Bước 1:
Nhập vào hệ số a, b, c của phương trình ax
2
+ bx + c = 0 theo tham số m
Bước 2:
2.1 Xét trường hợp hệ số a = 0
2.1.1. Nghiệm của phương trình
2.2 Xét trường hợp hệ số a ≠ 0
2.2.1 Tính delta = b
2
– 4ac

2.2.2 Nếu delta < 0
- 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: x
1
= ; x
2
=
Nguyễn Văn Quang - CH1101126 13
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
2.2.4 Thủ tục
Nguyễn Văn Quang - CH1101126 14
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
2.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ình
toá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)= ax
3
+ bx
2

+ 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ến

thiê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
đồ thị hàm số
c. Tính lồi, lõm và điểm uốn: tính đạo hàm y’ và xét dấu y’ để tìm điểm
uốn các đồ thị hàm số (nếu có).
d. Giới hạn: tính các giới hạn của hàm số. tìm các tiệm cận của đồ thị
hàm số (nếu có).
3. Vẽ đồ thị:
a. Vẽ các đường tiệm cận của đồ thị hàm số(nếu có).
Nguyễn Văn Quang - CH1101126 15
>
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
b. Xác định các điểm đặc biệt của đồ thị hàm số: cực trị, các giao điểm
của đồ thị với các trục toạ độ (nếu có).
c. Vẽ đồ thị hàm số.
Dựa vào các bước để khảo sát hàm số trên, bằng cách sử dụng các lệnh cho sẳn
của Maple chúng ta lập được thủ tục giải bài toán khảo sát đồ thị hàm số bậc 3: y = ax
3
+ bx
2

+ cx +d.
2.3.2 Thuật giải:
Input: Nhập vào giá trị: a, b, c,d
Output: Cực trị; Giới hạn; Tính lồi, lõm, điểm uốn; Vẽ đồ thị.
Biến:
Dh1 , y’, y”, Limit, x,y
Bước 1:
Tính đạo hàm (diff(y,x))
Bước 2:

Kiểm tra các điều kiện:
- If (Đạo hàm (y,x)=0 và a>0) then Hàm số luôn đồng biến
- If (Đạo hàm (y,x)=0 và a<0) then Hàm số luôn nghịch biến
- If ({(Đạo hàm (y,x)=0}≠{}0 và a<0 và max(solve(đạo hàm(y,x)=0)) ≠
min(solve(đaọ hàm(y,x)=0)))then Hàm số luôn đồng biến trong các khoảng.
- if ({fsolve(đạo hàm (y,x)=0)}<>{}and a>0 and max(solve(đạo hàm
(y,x)=0))<> min(solve(đạo hàm (y,x)=0))) then
+ Hàm số luôn đồng biến trong các khoảng:
(-infinity,min(solve(đạo hàm (y,x)=0)))(`và`)
(max(solve(đạohàm(y,x)=0)),infinity);
+ Hàm số luôn nghịch biến trong các khoảng:
(min(solve(đạo hàm (y,x)=0)),max(solve(đạo hàm (y,x)=0)));
- if ({fsolve(đạo hàm (y,x)=0)}<>{}and a<0 and max(solve(đạo hàm
(y,x)=0))<> min(solve(đạo hàm (y,x)=0))) then
+ Hàm số luôn đồng biến trong các khoảng:
(min(solve(đạo hàm (y,x)=0)),max(solve(đạo hàm (y,x)=0)));
+ Hàm số luôn nghịch biến trong các khoảng:
(-infinity,min(solve(đạo hàm (y,x)=0))) và (max(solve(đạo hàm
(y,x)=0)),infinity);
- Cực trị:
if ({fsolve(đạo hàm (y,x)=0)}<>{}và a>0 và max(solve(đạo hàm
(y,x)=0))<>min(solve(đạo hàm (y,x)=0))) then
Hàm số có một điểm cực đại và một điểm cực tiểu
if ({fsolve(đạo hàm (y,x)=0)}<>{}và a<0 và max(solve(đạo hàm
(y,x)=0))<>min(solve(đạo hàm (y,x)=0))) then
Hàm số có một điểm cực tiểu và một điểm cực đại
- Tính giới hạn
Nguyễn Văn Quang - CH1101126 16
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
- Tính đạo hàm y” (`y''`=diff(diff(y,x),x));

- Xác định hàm số lồi, lõm trong khoảng
- Vẽ đồ thị hàm số
2.3.3 Thủ tục:
Nguyễn Văn Quang - CH1101126 17
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Nguyễn Văn Quang - CH1101126 18
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
2.3.4 Dữ liệu thử nghiệm:
Khảo sát hàm số bậc 3: y := -x
3
-3x
2
+4;
Nguyễn Văn Quang - CH1101126 19
(1,0); (-2,0)
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
Chương 3. KẾT LUẬN
Bài báo cáo này đã trình bày được một vài ứng dụng của Maple trong việc giải
các bài toán hình học không gian, khảo sát và vẽ đồ thị hàm số. Tôi nhận thấy rằng nếu
khai thác tốt các tính năng của Maple một công cụ rất hiệu quả trong dạy học, trong
nghiên cứu khoa học và nhiều lĩnh vực khác nữa.
Trong quá trình thực hiện khoá luận, tôi đã cố gắng tập trung tìm hiểu, học hỏi
và tham khảo các tài liệu liên quan. Tuy nhiên, với thời gian và trình độ có hạn nên
không tránh khỏi những hạn chế và thiếu sót. Tôi rất mong được sự nhận xét và góp ý
của Thầy và bạn bè để hoàn thiện hơn các kết quả nghiên cứu của mình.
Nguyễn Văn Quang - CH1101126 20
Khóa luận môn học: Lập trình Symbolic và Trí tuệ Nhân tạo
TÀI LIỆU THAM KHẢO
[1] GSTS.Hoàng Kiếm và Đỗ Văn Nhơn, 1996, Mạng tính toán và Ứng dụng,
[2] Đỗ Văn Nhơn, Xây dựng hệ tính toán thông minh, Luận án Tiến sĩ, 2001.

[3] GS.TSKH Hoàng Kiếm, TS. Đỗ Văn Nhơn, Th.sĩ Đỗ Phúc. Giáo trình Các hệ cơ
sở tri thức. Đại Học Quốc Gia TPHCM – 2002.
[4]
Nguyễn Văn Quang - CH1101126 21

×