Tải bản đầy đủ (.pdf) (14 trang)

Tính toán phân tán: Maximal Independent Set(MIS)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (737.46 KB, 14 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

BÁO CÁO MÔN HỌC

TÍNH TOÁN PHÂN TÁN
ĐỀ TÀI:
Tìm hiểu

Maximal Independent Set(MIS)
Giáo viên hướng dẫn: TS. Nguyễn Hữu Đức
Sinh viên thực hiện:
MSSV
:

Nguyễn Thị Phương Hằng
20131345

Hà Nội tháng 5 năm 2018

1


Contents
I.

MIS ....................................................................................................................................................... 3
1.

II.


Định nghĩa........................................................................................................................................ 3
Fast MIS năm 1986 ......................................................................................................................... 4

1.Thuật toán 2 Fast MIS ......................................................................................................................... 4
III.

Fast MIS năm 2009 ......................................................................................................................... 9

1.Giải thuật 2: Fast MIS 2009 ................................................................................................................ 9
IV.
V.

Ứng dụng ....................................................................................................................................... 13
Tài liệu tham khảo ............................................................................................................................ 14

2


I.
MIS
1. Định nghĩa
Tổ hợp độc lập( Independent Set): Cho đồ thị vô hướng G=(V,E), một
tổ hợp độc lập là tập con của các nút
, sao cho không có hai
nút trong U kề nhau.
Một tổ hợp độc lập được gọi là tối đa nếu là tổ hợp độc lập không là
con của bất kỳ tổ hợp độc lập nào khác.(MIS)
Một tổ hợp độc lập lớn nhất là MIS có kích thước lớn nhất.(MaxIS)

Hình 1: Đồ thị minh họa với 1) tổ hợp độc lập tối đa(MIS) và 2) là tổ hợp độc lập lớn

nhất(MaxIS)

Ghi chú:
- Tính toán tổ hợp độc lập lớn nhất (MaxIS) là một vấn đề khó khăn.
Nó tương đương với clique tối đa trên đồ thị bổ sung.Cả hai vấn đề
này là NP-khó.
- Trong phần này tập trung vào thiết lập tổ hợp độc lập tối đa(MIS).
MIS và MaxIS có thể khác nhau, có đồ thị mà ở đó MIS nhỏ hơn
MaxIS Ө(n)
- Tính một MIS tuần tự là bình thường: Quét các nút theo thứ tự tùy
ý.Nếu một nút u không vi phạm độc lập, thêm u vào MIS. Nếu u vi
phạm độc lập, loại bỏ u. Vì vậy câu hỏi duy nhất là làm sao để tính
toán MIS theo cách phân tán.
Giải thuật 1: Slow MIS
Yêu cầu: Node IDs
Mọi nút u thực hiện như sau

3


1. If các hàng sóm của u với với ID lớn hơn quyết định không
tham gia MIS
2. u quyết định tham gia MIS
3. endif
Ghi chú: Không ngạc nhiên khi thuật toán slow không tốt hơn
thuật toán tuần tự trong trường hợp xấu nhất, bởi vì có thể có một
điểm duy nhất của quá trình hoạt động bất cứ lúc nào.
Phân tích giải thuật 1: Độ phức tạp về thời gian O(n), độ phức
tạp thông điệp O(m)
Ghi chú:

- Điều này không hề thú vị
- Có một mối quan hệ giữa các tổ hợp độc lập và tô màu nút, vì mối
lớp màu là một tổ hợp độc lập tuy nhiên không nhất thiết là một
MIS. Bắt đầu với tô màu, ta có thể rút ra được thuật toán MIS. Đầu
tiên chúng ta chọn tất cả các nút màu đầu tiên. Sau đó với mỗi màu
bổ sung, chúng ta thêm song song( không xung đột) càng nhiều nút
càng tốt. Như vậy sẽ được kết quả như sau: Cho một thuật toán tô
màu cần C màu và chạy trong thời gian T, chúng ta có thể xây
dựng một MIS trong thời gian C+T
I.

Fast MIS năm 1986
1.Thuật toán 2 Fast MIS
Thuật toán hoạt động trong vòng đồng bộ, được nhóm thành các giai
đoạn. Một pha duy nhất như sau:
1) Mỗi nút v đánh dấu chính nó với xác xuất
, trong đó d(v) là cấp
của v.
2) Nếu không có láng giềng có bậc cao hơn của v được đánh dấu, nút v
tham gia vào MIS. Nếu có một láng giềng bậc cao hơn của v được
đánh dấu, nút v sẽ không được đánh dấu.
3) Xóa tất cả nút tham gia vào MIS và các láng giềng, vì chúng không
thể tham gia vào MIS
Ghi chú:
- Độ chính xác theo nghĩa là thuật toán tạo ra 1 tổ hợp độc lập tương
đối đơn giản. Bước 1 và 2 đảm bảo rằng nếu một nút v tham gia
vào MIS, sau đó láng giềng của v không tham gia vào MIS cùng
lúc. Bước 3 đảm bảo rằng láng giềng của v sẽ không bao giờ tham
gia vào MIS.
- Tương tự như thuật toán tạo ra cuối cùng là một MIS, bởi vì nút

với bậc cao nhất sẽ đánh dấu chính nó ở một số điểm tại bước 1

4


- Vì vậy, câu hỏi duy nhất còn lại là làm thế nào thuật toán kết thúc
nhanh.
Bổ đề 1: Một nút v tham gia vào MIS ở bước 2 với xác xuất
1
p≥
4𝑑(𝑣)

Minh chứng: Cho M là tập các nút được đánh dấu ở bước 1. Cho
H(v) là tập láng giềng của v với bậc cao hơn, hoặc cùng bậc và định
danh cao hơn. Sử dụng độc lập của v và H(v) ở bước 1 chúng ta nhận
được:


Bổ đề 2: Một nút v được gọi là tốt nếu

Nếu không chúng ta gọi v là một nút xấu. Một nút tốt sẽ được gỡ bỏ
1
trong bước 3 với xác suất p≥
36
Chứng minh: Để nút v được tốt. Trực quan các nút tốt có rất nhiều
láng giềng bậc thấp, do đó cơ hội cao mà một trong số chúng đi vào tổ
hợp độc lập, trong trường hợp này v sẽ bị gỡ bỏ trong bước 3 của
thuật toán. Nếu có một láng giềng w € N(v) với bậc nhiều nhất là 2
chúng tôi đã có: Với bổ đề 1 xác suất nút w tham gia vào MIS nhỏ
1

nhất là và nút tốt của chúng tôi sẽ bị loại bỏ ở bước 3
8
Vậy nên chúng tôi quan tâm đến tất cả láng giềng có bậc ít nhất bằng
1
1
3. Với mọi láng giềng w của v chúng ra có
≤ .
2𝑑(𝑤)



6

có một tập con các láng giềng

để

. Bây giờ chúng ta có thể ràng buộc xác suất rằng

5


nút v sẽ bị xóa. Do đó R là sự kiện của v bị xóa.Một lần nữa, nếu một
láng giềng của v tham gia vào MIS ở bước 2, nút v sẽ bị xóa ở bước 3.
Chúng ta có:

Đối với sự bất đẳng thức cuối cùng, chúng tôi sử dụng nguyên tắc loại
trừ. Đặt M là tập các nút được đánh dấu sau bước 1. Sử dụng Pr [u ∈
M] ≥ Pr [u ∈ MIS] w chúng ta có:


Ghi chú: Chúng ta gần như hoàn thành nếu chúng ta có thể chứng
minh rằng nhiều nút là tốt trong mỗi giai đoạn. Thật không may đây là
trường hợp ngoại lệ: Trong một đồ thị hình sao, cho ví dụ, chỉ có 1
nút duy nhất là tốt.
Bổ đề 3: Một canh e=(u,v) được gọi là xấu nếu cả u và v xấu, ngược
lại được gọi là tốt.
Chứng minh: Chúng ta xây dựng một đồ thị phụ trực tiếp: Đưa mỗi
cạnh về phía nút có bậc cao hơn( Nếu cả hai nút có cùng bậc đưa nó
về nút có định danh cao hơn). Bây giờ chúng ta cần một bổ đề nhỏ
trước khi chứng minh.
Bổ đề 4: Một nút tồi có bậc ra(outdegree) ít nhất 2 lần bậc
vào(indegree) của nó.
Chứng minh: Vì mâu thuẫn, giả sử rằng một nút xấu v không có bậc
ra bằng ít nhất 2 lần bậc vào. Nói cách khác, ít nhất 1/3 các nút láng
giềng(S) có bậc nhiều nhất là d(v). Nhưng sau đó:

6


Nghĩa là v tốt, mâu thuẫn.
Chúng ta tiếp tục với chứng minh bổ đề 3, số các cạnh hướng vào nút
xấu tối đa là một nửa số cạnh hướng ra ngoài nút xấu. Do đó, số lượng
các cạnh hướng vào nút xấu tối đa là một nửa số cạnh. Do đó, ít nhất
một nửa số cạnh được hướng vào nút tốt. Vì các cạnh này không phải
là nút xấu, chúng là nút tốt.
Định lý: Thuật toán 2 kết thúc với thời gian dự kiến O(log n)
Chứng minh: Với bổ đề 2 là nút tốt( và nên là cạnh tốt) sẽ bị xóa với
xác suất không thay đổi. Vì ít nhất một nửa các cạnh là tốt, một số
lượng các cạnh sẽ bị xóa trong mỗi giai đoạn.
Với bổ đề 2 và 3 chúng ta biết rằng một cạnh bị xóa với xác suất nhỏ

nhất là 1/72. Cho R là số lượng các cạnh bị xóa. Sử dụng tính tuyến
tính của kỳ vọng chúng ta biết rằng E [R] ≥ m/72, m là tổng các cạnh
ở đầu của một pha. Bây giờ cho p:= Pr [R ≤ E [R] /2].
Hạn chế số lượng mong đợi:

Giải p ta được:

Nói cách khác, với xác suất nhỏ nhất 1/144 , nhỏ nhất m/144 cạnh bị
xóa trong pha. Sau thời gian của pha O(log m), tất cả cạnh bị xóa.
Ví dụ minh họa giải thuật:

Xác suất:

7


Đánh dấu:

Xóa hàng xóm:

8


II.

Fast MIS năm 2009
1.Giải thuật 2: Fast MIS 2009
Thuật toán hoạt động trong vòng đồng bộ, được nhóm thành các giai đoạn.
Một pha đơn như sau:
1) Mỗi nút v chọn một giá trị ngẫu nhiên r(v) € [0,1] và gửi nó tới láng

giềng.
2) Nếu r(v) < r(w) cho tất cả láng giềng w € N(v), nút v đi vào MIS và
thông báo cho láng giềng của nó
3) Nếu v hay một láng giềng của v tham gia vào MIS, v kết thúc( v và tất cả
các cạnh liền kề với v bị xóa khỏi biểu đồ), nếu không v sẽ nhập pha tiếp
theo.
Ghi chú:
- Độ chính xác theo nghĩa là thuật toán tạo ra một tổ hợp độc lập là
đơn giản: Bước 1 và 2 đảm bảo rằng nếu một nút v tham gia MIS,
sau đó láng giềng của v không tham gia MIS cùng lúc. Bước 3 đảm
bảo rằng các láng giềng của v sẽ không bao giờ tham gia MIS
- Tương tự như vậy thuật toán tạo ra cuối cùng một MIS, bởi vì nút
với giá trị nhỏ nhất sẽ luôn tham gia MIS, nên có tiến trình.
- Vì vậy câu hỏi còn lại ở đây là làm sao để thuật toán kết thúc
nhanh.
- Chứng minh của chúng tôi sẽ dựa trên một quan sát đơn giản
nhưng mạnh mẽ về giá trị dự kiến của các biến ngẫu nhiên có thể
không độc lập.
Định lý 1: ( Độ tuyến tính của kỳ vọng). Cho Xi,i=1….,k biểu thị biến ngẫu
nhiên sau đó

Chứng minh: Nó đủ để chứng minh E [X + Y ] = E [X]+E [Y ] cho hai biến
ngẫu nhiên X, Y.

Chúng ta có:

9


Ghi chú:

- Chúng ta có thể chứng minh giải thuật chỉ cần O(log n) như thế
nào?
- Cần chứng minh rằng số lượng các cạnh giảm nhanh. Lần nữa, nó
tuyệt vời nếu có bất kỳ cạnh đơn nào bị xóa với xác suất không
thay đổi ở bước 3. Nhưng một lần nữa, thật không may, trường
hợp không xảy ra.
- Có lẽ chúng ta sẽ có thể tranh luận về số lượng các cạnh mong
muốn bị xóa trong một pha đơn? Cùng xem nhé: Một nút v đi vào
MIS với xác suất 1/(d(v)+1) trong đó d(v) là bậc của nút v. Bằng
cách đó, không chỉ cạnh của v bị xóa, nhưng thực sự tất cả các
cạnh của láng giềng của v nói chung nhiều hơn d(v) cạnh. Tuy
nhiên có hy vọng, chúng ta cần phải cẩn thận với việc tính cùng
cạnh nhiều lần.
- Làm sao để khắc phục? Cho một nút MIS mới v và hàng xóm w €
N(v), ta tính các cạnh nếu r(v)đồ hình sao, ví dụ chỉ giá trị ngẫu nhiên nhỏ nhất có thể được đếm
để xóa tất cả các cạnh của hình sao.
Bổ đề 4: ( Xóa cạnh) Trong một gian đoạn, chúng tôi loại bỏ ít nhất
một nửa các cạnh trong kỳ vọng.
Chứng minh: Để đơn giản hóa ký hiệu, khi bắt đầu giai đoạn, đồ thị
đơn giản G= (V,E). Giả sử một nút v tham gia MIS trong giai đoạn
này, tức là r(v)r(x) cho tất cả hàng xóm x của a, hàng xóm w của v. Xác suất của sự
kiện này ít nhất là 1/(d(v)+d(w)), vì d(v)+d(w) là số nút tối đa nằm
cạnh v hoặc w( hoặc cả hai). Như v kết nối MIS, tất cả các cạnh (w,x)
sẽ bị gỡ bỏ, có d(w) của các cạnh này. Cho dù chúng ta loại bỏ các
cạnh liền kề với w là một biến ngẫu nhiên. Nếu nó xảy ra nó có giá trị

10



d(w), nếu không nó có giá trị 0. Đối với mỗi cạnh {v,w} chúng ta có
hai biến như vậy, sự kiện (v->w) cho v tham gia MIS, và sự kiện đối
xứng(w->v) cho w tham gia MIS. Theo định lý 1 giá trị mong đợi của
tổng X của các giá trị biến ngẫu nhiên này là ít nhất.

Nói cách khác, trong kỳ vọng tất cả các cạnh được loại bỏ trong một
pha duy nhất?!? Chắc là không. Điều này có nghĩa là chúng tôi vẫn
tính một số cạnh hơn một lần. Thật vậy, đối với một cạnh {v, w} ∈ E
biến ngẫu nhiên X bao gồm các cạnh nếu sự kiện (u → v) xảy ra,
nhưng X cũng bao gồm các cạnh nếu sự kiện (x → w) xảy ra. Vì vậy,
chúng tôi có thể đã tính cạnh {v, w} hai lần. May mắn thay, không
quá hai lần, bởi vì nhiều nhất một sự kiện (· → v) và nhiều nhất một
sự kiện (· → w) có thể xảy ra. Nếu (u → v) xảy ra, chúng ta biết rằng
r (u) ra vì r (u’)> r (u) ∈ N (v). Do đó, biến ngẫu nhiên X phải được chia
cho 2. Nói cách khác, trong kỳ vọng ít nhất một nửa các cạnh được
loại bỏ.
Ví dụ minh họa:

Chọn giá trị ngẫu nhiên:

11


Tìm giá trị min trong hàng xóm=> IS:

Xóa các hàng xóm:

Chọn giá trị ngẫu nhiên


Tìm min trong hàng xóm=>IS

12


Xóa hàng xóm

Chọn giá trị ngẫu nhiên:
Là giá trị thấp nhất:

Ta được MIS:

III.

Ứng dụng
Định nghĩa: Cho một đồ thị G=(V,E) một kết hợp là một tập con của các
cạnh M trong E, mà không có hai cạnh trong M liền kề nhau( tức là nơi
mà không có nút nào liền kề tới hai cạnh trong kết hợp). Một kết hợp tối
đa nếu không có cạnh nào có thể được thêm mà không vi phạm các ràng
buộc trên.
Giải thuật: Tô màu cây tổng quát
1. Cho đồ thị G = (V,E) chúng ta xây dựng một đồ thị G’=(V’,E’) như
sau
2. Mọi nút v € V sao chép chính nó d(v)+1 lần,(v0,..vdd(v) thuộc V’),
d(v): bậc của v trong G
3. Tập cạnh E của G như sau:
4. Đầu tiên tất cả các sao chép trong một clique: (vi, vj) thuộc E’, tất cả v
thuộc V và tất cả 0<=i5. Thứ 2 tất cả bản sao ith của hàng xóm trong đồ thị G gốc được kết nối:

(ui,vj) thuộc E’, đối với tất cả (u,v) thuộc E và tất cả 0 <= i <=
min (d(u),d(v))
6. Bây giờ chúng ta chạy giải thuật MIS trên G’

13


7. Nếu nút vi trong MIS trong G’ thì node v tô màu i
IV.

Tài liệu tham khảo
/>
14



×