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

MỘT số ỨNG DỤNG (lý THUYẾT đồ THỊ SLIDE)

44 109 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 44
Dung lượng 3,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

Input: Mạng G, đỉnh phát a và đỉnh thu zOutput: Tập P của phép cắt a-z tối thiểu P, P... Cho một đồ thị lưỡng phân G = X,Y,E với X là tập hợp các đỉnh trái và Y là tập hợp các đỉnh phải

Trang 1

CHƯƠNG 5

Trang 4

số G = (V,E) trên đó ta chọn một đỉnh gọi là đỉnh

phát (source vertex) và 1 đỉnh gọi là đỉnh thu (sink

vertex).

Ví dụ

Trang 5

 Một mạng G = (V,E) với đỉnh phát là a, đỉnh thu là

z, c(e)  N là trọng số của cung e Với mỗi đỉnh x,

ta đặt:

In(x) = {e  E | e tới trong x}

Out(x) = {e  E | e tới ngoài x}

5

4 2

Trang 6

Một hàm tải (flow function) trên G được định

nghĩa bởi ánh xạ:

φ: E  N thỏa các điều kiện

(i)φ(e) ≤ c(e), e  E

(ii)φ(e) = 0, e  In(a)  Out(z)

(iii) (e)  (e) ,x  V \  a,z

Trang 7

4,1 2,1

Trang 8

Một phép cắt (cut) xác định bởi 1 tập hợp con P của V,

ký hiệu (P, ) là tập hợp:

(P, ) = { }Trong đó

Phép cắt gọi là 1 phép cắt a-z nếu aP và z P

P

P y

và P

P 

) P (P,

P

Trang 9

4 2

Trang 10

Gọi  là một hàm tải trên mạng G và P  V\

P (P, e

Trang 11

Với mọi hàm tải φ trên mạng G, lượng tải khỏi a bằng

In(z) e

Out(a) e

5,4

4,1 2,1

Trang 12

) P (P, e

P) , P ( e Out(a)

e

(e) (e)

(e)

Trang 13

Với mọi hàm tải φ và với mọi phép cắt a-z trong mạng

G, ta có:

) P c(P,

|

|  

Trang 14

Thêm vào G một đỉnh a0 và cạnh a0a (hướng từ

đặt

Ta có:

) P c(P, c(e)

(e)

(e) '

(e) '

P (P, e

}) {a P (P, e P)

}, {a P (

Trang 15

Với mọi hàm tải φ và mọi phép cắt a-z trong mạng G |φ|= nếu và chỉ nếu thỏa 2 điều kiện:

0(e)

P),,

P(

c(e)(e)

),P(P,

)Pc(P,

|

) P (P,

Trang 16

Cho một mạng G, đỉnh phát a và đỉnh thu z, với một phép căt a-z (P, P)

K

: e K : e K và có hướng từ a đến z

Trang 17

Input: Mạng G, đỉnh phát a và đỉnh thu z

Output: Tập P của phép cắt a-z tối thiểu (P, P)

Trang 18

Bắt đầu bằng 1 hàm tải  bất kỳ trên G

1 Đánh dấu mọi đỉnh đều chưa xét, gán nhãn cho a

là (-,(a)) với (a)= Đặt p 0 =a.

3 Nếu đỉnh z đã được gán nhãn  4, ngược lại  5.

4 Xác định một dây chuyền (vô hướng) từ a đến z dựa vào thành phần thứ 1 của nhãn Cập nhật lại  như sau: (e) = (e) + (z)   K (e) Về bước 1.

5 Tìm 1 đỉnh p đã có nhãn nhưng chưa xét Nếu tồn

Trang 19

Sau khi thuật toán kết thúc P là tập hợp các đỉnh đã có nhãn và đã xét.

Trang 21

Gán nhãn cho đỉnh a là (-,(a)), với (a)=∞

Trang 22

Xét các đỉnh kề với p0:

 Cạnh e1=(a,b) có s(e1)=0 nên không xét

 Cạnh e2=(a,c) có s(e2)=3>0 nên gán nhãn cho đỉnh

c là: (a+,min{(p0),s(e2)}) =(a+,3)

c

d

e (-,∞)

p 0

Trang 23

Xét các đỉnh kề với p0:

 Cạnh e3=(c,e) có s(e3)=0 nên không xét

 Cạnh e4=(c,d) có s(e4)=2>0 nên gán nhãn cho đỉnh

Trang 24

 Cạnh e5=(d,z) có s(e5)=0 nên không xét

 Cạnh e6=(b,d) có (e6)=6>0 nên gán nhãn cho đỉnh

Trang 25

(b + ,2)

Trang 26

 Cạnh e8=(e,z) có s(e8)=5>0 nên gán nhãn cho đỉnh

z là: (e+,min{(p0), s(e8)}) =(e+,2)

(b + ,2)

(e + ,2)

Trang 27

: e K : e K và có hướng từ a đến z : e K và e có hướng từ z đến a

Trang 28

 Gán nhãn cho đỉnh a là (-,(a)), với (a)=∞

c

d

e (1,1)

(-,∞)

p0

Trang 29

 Gán nhãn cho đỉnh a là (-,(a)), với (a)=∞

c

d

e (1,1)

Trang 31

Khi kết thúc thuật toán Ford-Fulkerson thì φ là 1 hàm

Trang 32

 Trong một mạng G, tải trọng của 1 hàm tải tối đại bằng trọng số của một phép cắt a-z tối tiểu.

Trang 35

A

E

F D

Trang 36

A

E

F D

C

4, 4

Trang 37

Cho một đồ thị lưỡng phân G = (X,Y,E) với X là tập hợp các đỉnh trái và Y là tập hợp các đỉnh phải của G Một bộ ghép (matching) của G là một tập hợp các cạnh của G đôi một không có đỉnh chung Bài toán cặp ghép (matching problem) của G là tìm một bộ ghép tối đại (có

số lượng các cạnh là lớn nhất) của G

Trang 38

Xét 1 bộ ghép M của G Khi đó:

◦ Các đỉnh trong M được gọi là các đỉnh đã được

ghép.

Một đường pha (alternating path) là một đường

trong G bắt đầu bằng 1 đỉnh chưa ghép thuộc X

và các cạnh lần lượt là thuộc rồi không thuộc M.

Một đường mở (augmenting path) là 1 đường pha

kết thúc bằng một đỉnh chưa ghép thuộc Y.

Trang 39

◦ Từ 1 đỉnh u chưa ghép thuộc X, ta có thể xây

dựng 1 cây pha (alternating tree) gốc u gồm

tất cả các đường pha bắt đầu từ u.

◦ Một cây pha chứa ít nhất 1 đường mở được gọi

là 1 cây mở (augmenting tree) Ngược lại sẽ

được gọi là một cây đóng (Hungarian tree),

gốc u của cây đóng này gọi là đỉnh đóng

(Hungarian acorn).

Trang 40

1 Đặt mọi đỉnh thuộc X là chưa kiểm tra Đặt

M=.

2 Nếu mọi đỉnh thuộc X chưa ghép đều đã kiểm

tra thì dừng Nếu không, chọn một đỉnh uX

chưa ghép và chưa kiểm tra để xây dựng 1 cây pha gốc u.

3 Nếu cây pha này là cây mở thì  bước 4 Nếu

không, đánh dấu u là đã kiểm tra  bước 2.

4 Mở rộng M bằng cây mở như sau: Trên đường

mở, loại bỏ các cạnh trong M và thêm vào các

Trang 41

Bộ ghép nhận được sau khi áp dụng thuật

toán Hungarian vào đồ thị lưỡng phân G là

tối đại

Trang 42

Một bộ ghép M của đồ thị lưỡng phân

G=(X,Y,E) được gọi là X-đầy đủ (X-complete

matching) nếu M chứa mọi đỉnh của X Với

AX, đặt (A) là tập hợp các đỉnh yY kề

với một đỉnh xA Khi này, G có 1 bộ ghép

X-đầy đủ nếu và chỉ nếu AX, |(A)||A|

Ngày đăng: 29/03/2021, 11:04

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN