1. Trang chủ
  2. » Công Nghệ Thông Tin

bài thảo tiểu luận thuật toán prim

18 731 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 18
Dung lượng 1,09 MB

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

Nội dung

5.Nếu G còn có các đỉnh không thuộc T, vì G liên thông nên có các cạnh nối một đỉnh trong T với một đỉnh ngoài T, chọn một cạnh có trọng số nhỏ nhất trong số đó cho vào T... • Đồ thị đ

Trang 1

BÀI TIỂU LUẬN NHÓM 2-46O

TỔ CHỨC MẠNG VIỄN THÔNG

Trang 2

DANH SÁCH THÀNH VIÊN:

1 Lương Văn Hải.

2 Đặng Thị Như.

3 Nguyễn Thị Uyên.

4 Nguyễn Thị An.

5 Dương Thị Thảo.

6 Đoàn Thị Nhung.

Trang 3

N I DUNG TH O LU N : ỘI DUNG THẢO LUẬN : ẢO LUẬN : ẬN :

I Giới thiệu về thuật toán Prim………1

II Các khái niệm chính……… 6

III.Các cách biểu diễn đồ thị……….10

IV.Duyệt các đỉnh của đồ thị………12

V Giải thuật Prim………

Trang 4

I Giới thiệu về thuật toán Prim.

Giải thuật Prim dựa trên cấu trúc của giải thuật tìm cây

bao trùm theo chiều rộng hoặc chiều sâu, chỉ thay đổi về tiêu chuẩn chọn đỉnh sẽ bổ sung vào cây ở từng bước

1 Bài toán

Cho G = (X,E) là một đồ thị liên thông Ngoài ra,

một hàm trọng số W(e), xác định trên tập các cạnh E của G Thuật toán Prim Ở mỗi bước

của thuật toán ta dựa trên tư tưởng của các

giải thuật tham ăn: Chọn và bổ sung vào cây cạnh có trọng số nhỏ nhất có thể

Trang 5

3 Mô tả

1.Gọi T là cây bao trùm sẽ xây dựng

2.Chọn một đỉnh s bất kỳ của G cho vào cây T 3.Khi đó T là một cây chỉ có một đỉnh và chưa

có cạnh nào

4.Nếu T đã gồm tất cả các đỉnh của G thì T là cây bao trùm cần tìm Kết thúc

5.Nếu G còn có các đỉnh không thuộc T, vì G

liên thông nên có các cạnh nối một đỉnh trong T với một đỉnh ngoài T, chọn một cạnh có trọng

số nhỏ nhất trong số đó cho vào T

6.Quay lại 2.

Trang 6

II Các khái niệm chính.

•Một đồ thị G bao gồm một tập hợp V các đỉnh và một tập hợp E các cạnh, ký hiệu G=(V,E)

•Các đỉnh còn được gọi là nút (node) hay điểm

(point) Các cạnh nối giữa hai đỉnh, hai đỉnh này

có thể trùng nhau

Trang 7

• Đồ thị được gọi là liên thông nếu với mỗi cặp đỉnh i,j bất kỳ luôn tìm được đường đi nối i với j

• Hai đỉnh có cạnh nối nhau gọi là hai đỉnh kề

(adjacency) Một cạnh nối giữa hai đỉnh v, w có thể

coi như là một cặp điểm (v,w)

• Nếu các cạnh trong đồ thị G có thứ tự thì G gọi là đồ

thị có hướng (directed graph)

Trang 8

• Đường đi trong đồ thị là một dãy các đỉnh

<x1,x2, … , xi, xj+1, … ,xk-1, xk >

sao cho, mỗi đỉnh trong dãy (không kể đỉnh đầu tiên) kề với đỉnh trước nó bằng một cạnh nào đó, nghĩa là:  i

= 2, 3, … , k-1, k : (xi-1, xi)  E.

Ta nói rằng đường đi này đi từ đỉnh đầu x1 đến đỉnh cuối

xk Số cạnh của đường đi được gọi là độ dài của đường

đi đó.

khác nhau từng đôi.

• Đồ thị vô hướng G=(V,E) được gọi là liên thông nếu với

mỗi cặp đỉnh i, j bất kỳ thì luôn tìm được đường đi nối

i và j Đường đi nối i và j cũng là đường đi nối j và i.

trình

Trang 9

• Cây là đồ thị vô hướng, liên thông, không có chu trình

Cây khung: Cho G là một đơn đồ thị Một cây được gọi là

cây khung của G nếu nó là một đồ thị con của G và

chứa tất cả các đỉnh của G.

Cây khung nhỏ nhất: Nói chung, ta có thể định nghĩa cây

khung nhỏ nhất cho một đồ thị G như sau: Nếu mỗi

cạnh e ij = (v i , v j ) có một trọng số cij , thì cây khung nhỏ

nhất là một tập hợp các cạnh ký hiệu là E span, sao cho:

C = sum( c ij | e ij  E span ) là nhỏ nhất

Trang 10

III.Các cách biểu diễn đồ thị.

Có khá nhiều cách biểu diễn đồ thị như biểu diễn bằng ma trận đỉnh-cung, ma trận đỉnh-cạnh, ma trận trọng số, danh sách liên kết, ….Ở đây chúng ta chỉ

nghiên cứu cách biểu diễn đồ thị bằng ma trận trọng số như sau :

Với đồ thị G=(V,E) , người ta thường gán cho mỗi cung hay cạnh (i,j) một giá trị cij gọi là trọng số của cung hay cạnh đó Ma trận A biểu diễn đồ thị G=(V,E) có

dạng : A=[aij] với i,j V

Trong đó : aij=0 nếu cạnh/cung (i,j) không thuộc

E, a =w nếu cạnh/cung (i,j) thuộc E

Trang 11

Ví dụ :

Xét đồ thị vô hướng có trọng số :

Ma trận trọng số biểu diễn đồ thị là:

Trang 12

IV DUYỆT CÁC ĐỈNH CỦA ĐỒ THỊ.

Xét đồ thị G=(V,E) Gọi i là một đỉnh nào đó của G

Ký hiệu L là cấu trúc dữ liệu kiểu danh sách lưu trữ các đỉnh của G Thuật toán duyệt các đỉnh của G

được trình bày một cách tổng quát như sau :

• Nạp đỉnh i vào danh sách L

• Lấy đỉnh x ra khỏi đầu danh sách

• Nếu x chưa được duyệt thì duyệt đỉnh x

• Nạp các đỉnh kề với x chưa được duyệt vào danh sách L

• Nếu L khác rỗng thì quay lên bước 2

• Dừng

Trang 13

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

Nếu trong thuật toán duyệt các đỉnh của đồ thị, danh sách L được tổ chức theo kiểu ngăn xếp (vào trước ra sau) thì ta có phương pháp duyệt theo chiều sâu

Trong phương pháp này mỗi lần duyệt một đỉnh ta duyệt đến tận cùng mỗi nhánh rồi mới chuyển sang duyệt nhánh khác

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

Search)

Nếu trong thuật toán duyệt các đỉnh của đồ thị, danh sách L được tổ chức theo kiểu hàng đợi (vào trước ra trước) thì ta có phương pháp duyệt theo chiều rộng Trong phương pháp này việc duyệt có tính chất lan rộng Một đỉnh được duyệt xong ngay sau khi đã xét hết tất cả các đỉnh kề với nó

Trang 14

• Kiểm tra tính liên thông của đồ thị :

Hai giải thuật duyệt theo chiều sâu DFS và duyệt theo chiều rộng BFS thường được sử dụng để kiểm tra

tính liên thông của đồ thị

Khi duyệt các đỉnh của đồ thị tập hợp các đỉnh đã

được đánh số tạo thành một bộ phận liên thông của

đồ thị Nếu tất cả các đỉnh của đồ thị đều được đánh

số thì kết luận đồ thị liên thông, ngược lại thì bắt

đầu từ một đỉnh chưa được duyệt, áp dụng lại giải

thuật trên tập hợp các đỉnh chưa được duyệt để tìm

bộ phận liên thông kế tiếp

Trang 15

V Giải thuật Prim.

Mô tả: Gọi T là cây bao trùm sẽ xây dựng

1 Chọn một đỉnh s bất kỳ của G cho vào cây T Khi đó T là một cây chỉ có một đỉnh và chưa có cạnh nào.

2 Nếu T đã gồm tất cả các đỉnh của G thì T là

cây bao trùm cần tìm Kết thúc.

3 Nếu G còn có các đỉnh không thuộc T, vì G liên thông nên có các cạnh nối một đỉnh trong T với một đỉnh ngoài T, chọn một cạnh có trọng số

nhỏ nhất trong số đó cho vào T.

Trang 16

• Kết quả vận dụng lý thuyết vào đề tài:

Nhập vào đồ thị vô hướng sau:

Trang 17

• Kiểm tra tính liên thông của đồ thị : đồ thị liên thông Bước khởi đầu: U={1},T=

Bước kế tiếp ta chọn cạnh (1,3) = 1 là cạnh ngắn nhất thỏa điều kiện của giải thuật Prim Ta có

U={1,3},T={(1,3)}

Kế tiếp thì cạnh (3,6) = 4 là cạnh ngắn nhất thỏa điều kiện của giải thuật Prim Ta có U={1,3,6},T={(1,3)

(3,6)}

Kế tiếp thì cạnh (6,4) = 2 là cạnh ngắn nhất thỏa điều kiện của giải thuật Prim Ta có U={1,3,6,4},T={(1,3)

(3,6)(6,4)}

Tiếp tục, cạnh (3,2) = 5 là cạnh ngắn nhất thỏa điều kiện của giải thuật Prim Ta có U={1,3,6,4,2},T={(1,3), (3,6), (6,4),(3,2)}

Trang 18

Cuối cùng là cạnh (2,5)=3 là cạnh ngắn nhất thỏa điều kiện của giải thuật Prim Ta có U={1,3,6,4,2,5},T={(1,3), (3,6), (6,4),(3,2),(2,5),} Giải thuật dừng và ta có cây bao trùm như hình bên dưới

Ngày đăng: 03/10/2015, 08:40

TỪ KHÓA LIÊN QUAN

w