1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI GIẢNG-BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT TOÁN TÌM KIẾM

48 572 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 48
Dung lượng 2,79 MB

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

Nội dung

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website: http://www.ispace.edu.vn MÔN HỌC: TOÁN ỨNG DỤNG Bài 1: CƠ SỞ LOGIC Bài 2: BÀI TOÁN ĐẾM VÀ BÀI TOÁN TỒN TẠI Bài 3: LÝ THUYẾT ĐỒ THỊ Bài 4: BIỂU

Trang 1

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

MÔN HỌC: TOÁN ỨNG DỤNG

Bài 1: CƠ SỞ LOGIC

Bài 2: BÀI TOÁN ĐẾM VÀ BÀI TOÁN TỒN TẠI

Bài 3: LÝ THUYẾT ĐỒ THỊ

Bài 4: BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT

TOÁN TÌM KIẾM

Bài 5: CÂY VÀ CÁC ỨNG DỤNG

Trang 2

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

Bài 4: BIỂU DIỄN ĐỒ THỊ

VÀ CÁC THUẬT TOÁN TÌM KIẾM

1 BIỂU DIỄN ĐỒ THỊ 1.1 Danh sách liền kề 1.2 Ma trận kề

1.3 Ma trận trọng số 1.4 Ma trận liên thuộc

2 BÀI TOÁN ĐƯỜNG ĐI NGẮN NHẤT 2.1 Giới thiệu bài toán

2.2 Thuật toán Dijkstra 2.3 Thuật toán Floyd

3 CÁC THUẬT TOÁN TÌM KIẾM 3.1 Giới thiệu

3.2 Duyệt đồ thị theo chiều sâu 3.3 Duyệt đồ thị theo chiều rộng

Trang 3

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 4

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

3,2 1,3,5 1,2,4 3,5,6 2,4,6 4,5

Trang 5

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

2,3

2 3 4,6

Trang 6

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

A G = (a ij ) , trong đó:

1, nếu (v i ,v j ) là một cạnh của G

aij = 0 ,nếu không có cạnh nối đỉnh v i với v j

Trang 7

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

2 3 4 5 6

1

3

6

4 2

5

Trang 8

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

2 3 4 5 6 5

a = k - tổng số cạnh nối hai đỉnh

Trang 9

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

2 3 4 5

Trang 10

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

- Khi chúng ta gán một giá trị số thực dương cho mỗi cạnh của đồ thị G thì chúng ta có đồ thị có trọng

số

- Chúng ta có thể xem đồ thị G bất kỳ là đồ thị có trọng số mà tất cả các cạnh có trọng số bằng 1.

Trang 11

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

1 Biểu diễn đồ thị

1.2 Ma trận trọng số

Trang 12

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

v1

v2

v6

v5 v3

v4 3

7

3

9

5 8 6

6

Trang 13

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

đường đi có trọng số nhỏ nhất trong các đường đi

từ u đến v.

d(u,v)=min(m(u,v))

Trang 14

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 15

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

v2 v3 v4 v5 v6

v1

v2

v6

v5 v3

v4 3

7

3

9

5 8 6

6

Trang 16

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 17

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 18

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

1 nếu cạnh e j nối với đỉnh v i

0 nếu cạnh e j không nối với đỉnh v i

m ij =

Trang 19

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

v2

v3

v4

v5

Trang 20

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.1 Giới thiệu bài toán

Cho đơn đồ thị liên thông, có trọng số dương G=(V,E)

Trang 21

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2.2 Thuật toán Dijkstra

Thuật toán tìm đường đi ngắn nhất từ đỉnh u đến mỗi đỉnh v

của đồ thị G, được nhà toán học người Hà Lan E Dijkstra

đề xuất vào năm 1959

Thuật toán thực hiện theo cách gán nhãn tại mỗi đỉnh

Thuật ngữ:

w(x,y) : trọng số dương của cạnh (x,y);

w(x,y) là ∞ (vô cùng lớn) nếu hai đỉnh không kề nhau.

d(v) : độ dài đường đi từ đỉnh xuất phát tới đỉnh v.

p(v) : đỉnh đứng ngay trước đỉnh v trên đường đi từ đỉnh

xuất phát đến đỉnh v.

Nhãn của đỉnh v : gồm cặp (d(v), p(v))

2 Bài toán đường đi ngắn nhất

Trang 22

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2.2 Thuật toán Dijkstra

Gán T = ø ; p(v) = NULL với mọi đỉnh v

Until (T=V)

2 Bài toán đường đi ngắn nhất

Trang 23

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

6

2

Trang 24

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Ví dụ 1:

3 10

D B

D B

d(C) =∞ > d(A)+w(A,C)=0+2=2

Trang 25

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Ví dụ 1:

3 10

Trang 26

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Trang 27

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Ví dụ 1:

3 10

Trang 28

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Trang 29

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

1/ Độ dài đường đi ngắn nhất từ A đến các đỉnh là

A 3/ Đường đi ngắn nhất từ A đến Z không đi qua C Vậy

đường đi ngắn nhất không đi qua tất cả các đỉnh của đồ thị

Trang 30

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

w v

5

2 Bài toán đường đi ngắn nhất

Trang 31

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Until ( đỉnh đích chứa trong tập T)

2 Bài toán đường đi ngắn nhất

Trang 32

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2.2 Thuật toán Dijkstra

Ví dụ 2:

Tìm đường đi ngắn nhất giữa A và W trong đồ thị G

2 Bài toán đường đi ngắn nhất

0 ø (0.-) (,-) (,-) (,-) (,-) (,-)

1 a (0,-)* (2,a) (1,a) (,-) (5,a) (,-)

2 xa - (2,a) (1,a)* (2,x) (4,x) (,-)

3 yxa - (2,a) - (2,x)* (3,y) (4,y)

4 vyxa - (2,a)* - - (3,y) (4,y)

5 wvyxa - - - - (3,y)* (4,y)

6 Kết thúc vì đỉnh đến w chứa trong tập T

Trang 33

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Trang 34

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Trang 35

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

2 Bài toán đường đi ngắn nhất

2.2 Thuật toán Dijkstra

Trang 36

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Việc tìm đường đi ngắn nhất dựa trên nguyên tắc sau:

" Nếu k là đỉnh nằm trên đường đi ngắn nhất từ i đến j thì đoạn đường từ i đến k và từ k đến j cũng ngắn nhất"

A k [i,j]=min(A k-1 [i,j], A k-1 [i,k]+A k-1 [k,j])

2 Bài toán đường đi ngắn nhất

Trang 37

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 38

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

P =

1

2

3 5

3 2

4

Trang 39

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

3

2 4

D1[2,3] = min( D0[2,3], D0[2,1]+D0[1,3] )

= min (, 7)

= 7 P[2,3]=1

D0 =

k = 1

Trang 40

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

P =

1

2

3 5

3

2 4

k = 2

3

Trang 41

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

1

2

3 5

Trang 42

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

3.1 Giới thiệu

Với một đồ thị có nhiều nút, việc kiểm tra tính liên thông của

đồ thị là bài toán lớn, cần có cách thức để thực hiện

nhanh, chính xác.

Hai cách duyệt đồ thị phổ biến được áp dụng:

1 Duyệt đồ thị theo chiều sâu (Depth First Search - DFS)

2 Duyệt đồ thị theo chiều rộng (Breadth First Search - BFS)

3 Duyệt đồ thị

Trang 43

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

3.2 Duyệt đồ thị theo chiều sâu

Xuất từ một đỉnh v bất kỳ của đồ thị G, chúng ta thực hiện như sau:

Bước 1: đánh dấu v đã được duyệt.

Bước 2: thực hiện đánh dấu đã duyệt với mỗi đỉnh w chưa duyệt kề với v,

Bước 3: làm lại bước 2 cho đến khi tất cả các đỉnh được duyệt.

3 Duyệt đồ thị

Trang 44

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 45

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

3.3 Duyệt đồ thị theo chiều rộng

Xuất từ một đỉnh v bất kỳ của đồ thị G, chúng ta thực hiện như sau:

Bước 1: đánh dấu đã duyệt cho một đỉnh v bất kỳ.

Bước 2: chọn đỉnh v đã được duyệt nhưng có đỉnh kề chưa được duyệt Việc chọn đỉnh v được xét ưu tiên cho các đỉnh được đánh dấu duyệt sớm.

Bước 3: thực hiện đánh dấu đã duyệt với tất cả các đỉnh w kề với v,

Bước 4: làm lại bước 2 cho đến khi tất cả các đỉnh được duyệt.

3 Duyệt đồ thị

Trang 46

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

http://www.ispace.edu.vn

3.3 Duyệt đồ thị theo chiều rộng

3 Duyệt đồ thị

Trang 47

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Trang 48

TRƯỜNG CAO ĐẲNG NGHỀ CNTT iSPACE Website:

Ngày đăng: 18/05/2015, 17:20

HÌNH ẢNH LIÊN QUAN

Đồ thị - BÀI GIẢNG-BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT TOÁN TÌM KIẾM
th ị (Trang 16)
Hình bên. - BÀI GIẢNG-BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT TOÁN TÌM KIẾM
Hình b ên (Trang 35)
Đồ thị là bài toán lớn, cần có cách thức để thực hiện - BÀI GIẢNG-BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT TOÁN TÌM KIẾM
th ị là bài toán lớn, cần có cách thức để thực hiện (Trang 42)
Bảng duyệt - BÀI GIẢNG-BIỂU DIỄN ĐỒ THỊ VÀ CÁC THUẬT TOÁN TÌM KIẾM
Bảng duy ệt (Trang 44)

TỪ KHÓA LIÊN QUAN