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

DÙNG MAPLE GIẢI MỘT SỐ BÀI TOÁN CƠ BẢN VỀ ĐỐ THỊ

30 454 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 30
Dung lượng 561,08 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DÙNG MAPLE GIẢI MỘT SỐ BÀI TOÁN CƠ BẢN VỀ ĐỐ THỊMỞ ĐẦU: Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu và có nhiều ứng dụng trong ngành công nghệ thông tin.. - Giải bài toán tô

Trang 1

MỤC LỤC

MỞ ĐẦU: 2

1 Giới thiệu mapple – công cụ lập trình symbolic 2

Mapple có các chức năng cơ bản sau: 3

Một số lệnh để lập trình: 3

2 Chương trình: 4

3 Dữ liệu thử: 19

4 Kết luận 29

Tài liệu tham khảo: 29

Trang 2

DÙNG MAPLE GIẢI MỘT SỐ BÀI TOÁN CƠ BẢN VỀ ĐỐ THỊ

MỞ ĐẦU:

Lý thuyết đồ thị là một lĩnh vực nghiên cứu đã có từ lâu và có nhiều ứng dụng trong ngành công nghệ thông tin Những tư tưởng cơ bản của lý thuyết đồ thị được đề xuất vào những năm đầu của thế kỷ 18 bởi nhà toán học lỗi lạc người Thụy Sỹ: Leonhard Euler Chính ông là người đã sử dụng đồ thị để giải bài toán nổi tiếng về 7 cái cầu ở thành phố Konigberg

Những ứng dụng cơ bản của đồ thị như:

- Xác định tính liên thông trong một mạng máy tính: hai máy tính nào đó có thể truyền dữ liệu cho nhau được không

- Tìm đường đi ngắn nhất trên mạng giao thông

- Giải các bài toán tối ưu: lập lịch, phân bố tần số cho các trạm phát thanh, truyền hình

- Giải bài toán tô màu trên bản đồ: tìm số màu ít nhất để tô các quốc gia sao cho hai quốc gia kề nhau phải được tô khác màu

- …

1 Giới thiệu mapple – công cụ lập trình symbolic

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 ty Warterloo Maple Inc (http://www.maplesoft.com) Maple ra đời năm 1991 đến nay đã phát triển đến phiên bản 15 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án và 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ệnhcủ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 đó,

Trang 3

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.

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

Một số lệnh để lập trình:

Lệnh IF:

if <dieukien> then <cac_cau_lenh>

| elif <dieukien> then <cac_cau_lenh> |

| for <name> | | in < bieu_thuc > | | while < bieu_thuc > |

do < cac_cau_lenh > end do;

Thủ tục:

Trang 5

if type(G,[set(Dinh),set(Canh)])=false and type(G,[set(Dinh),Canh])=false and type(G,[Dinh,set])=false then return false;

Trang 9

and type(tapcanh,Canh) = false then

print("Canh them vao khong hop le.");

Trang 11

tapcanhbandau:=tapcanhbandau minus {i};

if type(d,Dinh)=false and type(d,set(Dinh))=false then

print("Dinh them vao khong hop le"); return G;

end if;

if type(d,Dinh) then tapdinh:={d}; else tapdinh:=d; end if;

return taodothi([dinh(G) union tapdinh,canh(G)]);

end proc;

# Thủ tục xóa đỉnh trong đồ thị

xoadinh:=proc(G::Dothi,d)

local tapdinh,i,j,D;

if type(d,Dinh)=false and type(d,set(Dinh))=false then

print("Dinh can xoa khong hop le"); return G;

Trang 12

if i[1]=dinh then ketqua:={op(ketqua),i[2]};end if;

if type(i,set) then if i[2]=dinh thenketqua:={op(ketqua),i[1]}; end if; end if;

if index[i]=d then dau:=i; end if;

if index[i]=c then cuoi:=i; end if;

end do;

duongdi:=array(1 n);

for i from 1 to n do duongdi[i]:=0;end do;

chuanbi:={dau};

Trang 13

dinhke:=timdinhke(D,dinh) minus daduyet;

for i in dinhke do duongdi[i]:=dinh;end do;

chuanbi:=chuanbi union dinhke;

Trang 14

if (op(1,j)=i and ember(op(2,j),

tapdinh)) or (op(2,j)=i and member(op(1,j),tapdinh)) then

Trang 17

if type(c,Canh)=false then print("Canh khong hop le");

return false; end if;

if member(c,canh(G))=false then

Trang 18

print("Canh khong thuoc Do Thi");

if op(1,c)=d or op(2,c)=d then

if op(1,c)=d then dnext:=op(2,c);

else dnext:=op(1,c); end if;

Trang 19

if lacau(H,c)=false or baccuadinh(H,d)=1 then

Trang 25

Ví dụ 3

G3:=[{a,b,c,d,1},{{b,c},[a,b],[c,a],{1,b}}];

> G:=taodothi(G3); vedothi(G); loaidothi(G);

> G:=xoadinh(G,a): G:=themcanh(G,{[b,d],{c,d}}): vedothi(G);

> lienthong(G);

> G:=xoacanh(G,[d,c]); vedothi(G);

Trang 29

Tuy nhiên, do còn nhiều hạn chế như bản thân không nhiều thời gian trongviệc học tập sử dụng chương trình nên bài tập này còn đơn giản và nhiều sai sót.Nhưng qua đó cũng giúp cho em hiểu thêm về một công cụ hỗ trợ tính toán mạnh

mẽ với thư viện phong phú để có thể giải quyết các bài toán một cách dễ dàng

Tài liệu tham khảo:

Trang 30

[1] PGS.TS Đỗ Văn Nhơn, Tập tài liệu giảng dạy môn Lập trình Symbolic cho

Trí tuệ nhân tạo, Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM.

[2] PGS.TS Đỗ Văn Nhơn, Giáo trình Toán rời, Đại học Công nghệ thông tin –Đại học Quốc gia TP.HCM

[3] Tập tài liệu giảng dạy môn Toán rời rạc của thầy TS Nguyễn Viết Đông – Đại

học Khoa học tự nhiên – Đại học Quốc gia TP.HCM

[4] Nguyễn Ngọc Trung, Giáo trình Maple, Đại Học Sư Phạm Tp Hồ Chí Minh[5] Nguyễn Ngọc Trung, Lý thuyết đồ thị, Đại Học Sư Phạm Tp Hồ Chí Minh[6] http://mapplesoft.com

[7] Mục Help của chương trình Mapple v.13.

Ngày đăng: 10/04/2015, 01:26

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w