1. Trang chủ
  2. » Khoa Học Tự Nhiên

Giáo trình Toán rời rạc

144 1 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 144
Dung lượng 2,08 MB

Nội dung

Bộ giáo dục đào tạo đại học huế trờng đại học khoa học nguyễn gia định giáo trình Toán rêi r¹c 110 100 111 101 010 000 011 001 huÕ − 2003 LỜI NÓI ĐẦU Được động viên mạnh mẽ đồng nghiệp Khoa Toán-Cơ-Tin học, Công nghệ Thông tin Vật lý (Trường Đại học Khoa học-Đại học Huế), Khoa Toán Tin học (Trường Đại học Sư phạm-Đại học Huế) đặc biệt nhu cầu học tập sinh viên Đại học Huế Khoa nói học viên cao học ngành Phương pháp giảng dạy Tốn, chúng tơi mạnh dạn viết giáo trình Tốn rời rạc thị trường sách có nhiều tài liệu liên quan đến Toán rời rạc Điều mà mong muốn kiến thức học phần phải đưa vào đầy đủ, cô đọng, xác, cập nhật, bám sát theo yêu cầu đào tạo sinh viên ngành Cơng nghệ Thơng tin, Tốn-Tin, Vật lý-Tin số ngành kỹ thuật khác trường đại học cao đẳng Với nổ lực thân, chúng tơi thiết nghĩ tài liệu tham khảo tốt cho giáo viên giảng dạy học phần toán rời rạc, học viên cao học ngành Phương pháp giảng dạy Toán, thí sinh thi vào cao học ngành cơng nghệ thông tin, sinh viên thuộc ngành đề cập học sinh thuộc khối chuyên Toán, chuyên Tin Nội dung tài liệu bố trí phần, khơng kể lời nói đầu, mục lục, tài liệu tham khảo phần phụ lục: Phần dành cho Chương I đề cập đến Thuật toán; Phần dành cho Chương II nói đến tốn đếm; Phần 3, phần chiếm nhiều trang giáo trình, bàn Lý thuyết đồ thị ứng dụng gồm chương: Đồ thị, Đồ thị Euler đồ thị Hamilton, Một số toán tối ưu đồ thị, Cây, Đồ thị phẳng tô màu đồ thị; Phần dành cho Chương 8, chương cuối cùng, đề cập đến Đại số Boole Trong chương, chứng minh định lý, mệnh đề trình bày chi tiết, ngoại trừ số định lý có phần chứng minh phức tạp chúng tơi bỏ qua Trong phần chương có nhiều ví dụ cụ thể minh hoạ cho khái niệm kết chúng Cuối chương tập chọn lọc từ dễ đến khó, bám theo nội dung chương Chúng tơi xin chân thành cám ơn đồng nghiệp động viên góp ý cho cơng việc viết giáo trình Tốn rời rạc lời cám ơn đặc biệt xin dành cho Khoa Công nghệ Thông tin giúp đỡ quý báu tạo điều kiện thuận lợi cho việc xuất giáo trình Tác giả mong nhận giáo đồng nghiệp độc giả thiếu sót khó tránh khỏi sách Mùa Thu năm 2003 Toán rời rạc - Nguyễn Gia Định MỤC LỤC Lời nói đầu Mục lục Chương I: Thuật toán 1.1 Khái niệm thuật toán 1.2 Thuật tốn tìm kiếm 1.3 Độ phức tạp thuật toán 1.4 Số nguyên thuật toán 12 1.5 Thuật toán đệ quy .17 Bài tập Chương I .19 Chương II: Bài toán đếm 22 2.1 Cơ sở phép đếm 22 2.2 Nguyên lý Dirichlet 25 2.3 Chỉnh hợp tổ hợp suy rộng 28 2.4 Sinh hoán vị tổ hợp 30 2.5 Hệ thức truy hồi 32 2.6 Quan hệ chia để trị 34 Bài tập Chương II 35 Chương III: Đồ thị .37 3.1 Định nghĩa thí dụ 37 3.2 Bậc đỉnh .39 3.3 Những đơn đồ thị đặc biệt 41 3.4 Biểu diễn đồ thị ma trận đẳng cấu đồ thị .44 3.5 Các đồ thị từ đồ thị cũ .46 3.6 Tính liên thơng 47 Bài tập Chương III 51 Chương IV: Đồ thị Euler Đồ thị Hamilton 54 4.1 Đường Euler đồ thị Euler 54 4.2 Đường Hamilton đồ thị Hamilton 58 Bài tập Chương IV 64 Chương V: Một số toán tối ưu đồ thị 67 5.1 Đồ thị có trọng số tốn đường ngắn 67 5.2 Bài toán luồng cực đại 72 5.3 Bài toán du lịch .79 Bài tập Chương V 84 Toán rời rạc - Nguyễn Gia Định Chương VI: Cây 87 6.1 Định nghĩa tính chất 87 6.2 Cây khung tốn tìm khung nhỏ .88 6.3 Cây có gốc 93 6.4 Duyệt nhị phân 94 Bài tập Chương VI 101 Chương VII: Đồ thị phẳng tô màu đồ thị 104 7.1 Đồ thị phẳng 104 7.2 Đồ thị không phẳng 106 7.3 Tô màu đồ thị 107 Bài tập Chương VII 112 Chương VIII: Đại số Boole 114 8.1 Khái niệm đại số Boole 114 8.2 Hàm Boole 117 8.3 Mạch lôgic 120 8.4 Cực tiểu hố mạch lơgic 125 Bài tập Chương VIII 132 Tài liệu tham khảo 134 Phần phụ lục 135 Phụ lục 135 Phụ lục 158 Toán rời rạc - Nguyễn Gia Định CHƯƠNG I: THUẬT TOÁN 1.1 KHÁI NIỆM THUẬT TOÁN 1.1.1 Mở đầu: Có nhiều lớp tốn tổng qt xuất toán học rời rạc Chẳng hạn, cho dãy số nguyên, tìm số lớn nhất; cho tập hợp, liệt kê tập nó; cho tập hợp số nguyên, xếp chúng theo thứ tự tăng dần; cho mạng, tìm đường ngắn hai đỉnh Khi giao cho tốn việc phải làm xây dựng mơ hình dịch tốn thành ngữ cảnh tốn học Các cấu trúc rời rạc dùng mơ hình tập hợp, dãy, hàm, hoán vị, quan hệ, với cấu trúc khác đồ thị, cây, mạng - khái niệm nghiên cứu chương sau Lập mơ hình tốn học thích hợp phần q trình giải Để hồn tất q trình giải, cịn cần phải có phương pháp dùng mơ hình để giải tốn tổng qt Nói cách lý tưởng, đòi hỏi thủ tục, dãy bước dẫn tới đáp số mong muốn Một dãy bước vậy, gọi thuật toán Khi thiết kế cài đặt phần mềm tin học cho vấn đề đó, ta cần phải đưa phương pháp giải mà thực chất thuật tốn giải vấn đề Rõ ràng rằng, khơng tìm phương pháp giải khơng thể lập trình Chính thế, thuật tốn khái niệm tảng hầu hết lĩnh vực tin học 1.1.2 Định nghĩa: Thuật toán bảng liệt kê dẫn (hay quy tắc) cần thực theo bước xác định nhằm giải toán cho Thuật ngữ “Algorithm” (thuật toán) xuất phát từ tên nhà toán học Ả Rập AlKhowarizmi Ban đầu, từ algorism dùng để quy tắc thực phép tính số học số thập phân Sau đó, algorism chuyển thành algorithm vào kỷ 19 Với quan tâm ngày tăng máy tính, khái niệm thuật tốn cho ý nghĩa chung hơn, bao hàm thủ tục xác định để giải tốn, khơng phải thủ tục để thực phép tính số học Có nhiều cách trình bày thuật tốn: dùng ngôn ngữ tự nhiên, ngôn ngữ lưu đồ (sơ đồ khối), ngơn ngữ lập trình Tuy nhiên, dùng ngơn ngữ lập trình lệnh phép ngơn ngữ dùng điều thường làm cho mô tả thuật tốn trở nên rối rắm khó hiểu Hơn nữa, nhiều ngơn ngữ lập trình dùng rộng rãi, nên chọn ngơn ngữ đặc biệt điều người ta khơng muốn Vì thuật tốn ngồi việc trình bày ngơn ngữ tự nhiên với ký hiệu toán học quen thuộc cịn dùng dạng giả mã để mơ tả thuật Toán rời rạc - Nguyễn Gia Định toán Giả mã tạo bước trung gian mơ tả thuật tốn ngơn ngữ thơng thường thực thuật tốn ngơn ngữ lập trình Các bước thuật tốn rõ cách dùng lệnh giống ngôn ngữ lập trình Thí dụ 1: Mơ tả thuật tốn tìm phần tử lớn dãy hữu hạn số nguyên a) Dùng ngôn ngữ tự nhiên để mô tả bước cần phải thực hiện: Đặt giá trị cực đại tạm thời số nguyên dãy (Cực đại tạm thời số nguyên lớn kiểm tra giai đoạn thủ tục.) So sánh số nguyên tiếp sau với giá trị cực đại tạm thời, lớn giá trị cực đại tạm thời đặt cực đại tạm thời số ngun Lặp lại bước trước số nguyên dãy Dừng khơng cịn số ngun dãy Cực đại tạm thời điểm số nguyên lớn dãy b) Dùng đoạn giả mã: procedure max (a1, a2, , an: integers) max:= a1 for i:= to n if max Time; end; TempPic.Free; end; Procedure TForm2.DrawPaint(PaintBox:TPaintBox;Bitmap:TBitmap); begin Paintbox.Canvas.Draw(0,0,Bitmap); end; procedure CatZeroThua(var St:string); var i,P,L:integer; begin L:=length(st); If St[L]=' ' then begin delete(st,1,L);L:=length(st);end; P:=pos('.',st);i:=L; 141 If P=0 then exit; while (i>P)and(st[i]='0') i:=i-1; If st[i]='.' then i:=i-1; delete(St,i+1,L-i); end; Function Quay(P,Tam:TypeToaDo;Goc:Real):TypeToaDo; Var Q:TypeToaDo; begin Goc:=Goc*Pi/180; P.x:=P.x-Tam.x; P.y:=P.y-Tam.y; Q.x:=Round(P.x*Cos(goc)-P.y*Sin(goc)); Q.y:=Round(P.x*Sin(goc)+P.y*Cos(goc)); Q.x:=Q.x+Tam.x; Q.y:=Q.y+Tam.y; Quay:=Q; end; procedure Vecung(Pic:Tbitmap;T1,T2:TypeToaDo;Gia:Real;Line:Boolean;LineColor,TextColor: Tcolor); var DX,DY,X,Y:Integer;P,Q1,Q2:TypeToaDo;L,TL:real;St:String; begin DX:=T2.x-T1.x;DY:=T2.y-T1.y; L:=sqrt(DX*DX+DY*DY); if L

Ngày đăng: 25/07/2023, 11:11

w