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

BÀI LUẬN-GIẢI THUẬT DI TRUYỀN TÌM KIẾM CỤC BỘ CHO VIỆC TIẾT KẾ TỐI ƯU MẠNG TIN CẬY

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 (275.89 KB, 22 trang )

1
Giҧi thuұt di truyӅn tìm kiӃm
cөc bӝ cho viӋc ThiӃt kӃ tӕi
ưu mҥng tin cұy
Bài luұn ƛ ThiӃt kӃ & Tӕi ưu
Mҥng
Hưӟng dүn: TS. Đinh Văn Dũng
Thӵc hiӋn : NguyӉn Hoàng Anh
NguyӉn Thӏ TuyӃt Mai
2
Dҥng bài toán
 Chӑn các kӃt nӕi cho tұp các nút sao
cho:
 Tӕi đa hóa đӝ tin cұy vӟi ràng buӝc chi phí
cho trưӟc
 Tӕi thiӇu chi phí cho mҥng có yêu cҫu tin
cұy cho trưӟc
3
Đһc điӇm
 Tӕi ưu thiӃt kӃ Topo mҥng truyӅn thông
 Thuӝc lӟp bài toán NP-hard (non-deterministic
polynomial-time hard)
 Ràng buӝc chһt
 Khӣi tҥo thông thưӡng và di truyӅn chuҭn sӁ sinh ra các
mҥng không khҧ thi (infeasible network)
 Tính toán Hàm thích nghi phӭc tҥp, tӕn tài
nguyên
 Tính đӝ tin cұy cӫa tҩt cҧ các nút mҥng
4
Mô hình hóa
 Các điӅu kiӋn tiên đӅ


 Vӏ trí cӫa mӛi nút mҥng đưӧc cho trưӟc
 Các nút có đӝ tin cұy tuyӋt đӕi
 Chi phí cӫa kӃt nӕi giӳa các nút (c
ij
) và p là cӕ đӏnh và biӃt trưӟc
 Các kӃt nӕi hoһc hoҥt đӝng hoһc bӏ lӛi
 Các lӛi cӫa links là đӝc lұp vӟi nhau
 Không xem xét sӱa chӳa.
 Đӗ thӏ G = (N,L,p) trong đó:
 N: Tұp các nút mҥng
 L: Tұp các kӃt nӕi giӳa các nút mҥng
 p: Đӝ tin cұy cӫa kӃt nӕi
Bài toán tӕi ưu
 Hàm mөc tiêu:
 C
ij:
chi phí cho mӝt kӃt nӕi tӯ
nút i tӟi nút j
 X
ij
: biӃn quyӃt đӏnh, có giá trӏ 0
hoһc 1
 Z: tәng chi phí cho tҩt cҧ các
kӃt nӕi cho mҥng
 Ràng buӝc:
 R(x): đӝ tin cұy cӫa mҥng
 R
o
: đӝ tin cұy tӕi thiӇu
6

Lӵa chӑn giҧi pháp
 Sӱ dөng Giҧi thuұt Di truyӅn (GA)
 KӃt hӧp tìm kiӃm đӏa phương (local
search)
Genetic
Algorithm
7
Mã hóa
KӃt nӕi Nhãn
1,3 1
1,5 2
1,6 3
1,4 4
1,2 5
2,3 6
2,5 7
2,6 8
2,4 9
3,4 10
3,6 11
3,5 12
4,5 13
4,6 14
5,6 15
 Full mesh  Partial Mesh
8
Khӣi tҥo Quҫn thӇ (Initial Population)
 Tӯ mӝt tұp nút mҥng cho trưӟc
 Thӵc hiӋn mӝt cây bao trùm (ST-Spanning
Tree) sӱ dөng giҧi thuұt Depth-First Search

(DFS) nӕi các nút mҥng đã chӑn.
 Các kӃt nӕi đưӧc lӵa chӑn ngүu nhiên tӯ tұp
kӃt nӕi chưa dùng đưӧc thêm đӇ tăng kӃt
nӕi
 Sau 2 bưӟc trên, nӃu mҥng không phҧi là 2-
Connectivity thì dùng giҧi thuұt chӍnh sӱa
9
Hàm Mөc tiêu
 = Tәng chi phí + bình phương hàm penalty
 Mөc đích cӫa hàm penalty: cho phép các giҧi pháp không khҧ thi vào
quҫn thӇ vì:
 Giҧi pháp tӕt có thӇ sinh ra tӯ sӵ lai giӕng giӳa giҧi pháp khҧ thi và không
khҧ thi
 Quán trình sinh sҧn không đҧm bҧo thӃ hӋ sau khҧ thi mһc dù thӃ hӋ
trưӟc khҧ thi do ràng buӝc chһt
 ĐӇ tính R(x), cách lý tưӣng là dùng Monte Carlo simulation.
 Tuy nhiên, không thӇ thӵc hiӋn đưӧc vì GA là giҧi thuұt lһp, nhiӅu
mҥng ӭng viên phҧi đưӧc đánh giá trong suӕt quá trình tìm kiӃm
 Do đó cҫn thӵc hiӋn screening:
 1. KiӇm tra kӃt nӕi mҥng
 2. KiӇm tra 2-connectivity
 3. Sӱ dөng Janƞs upper bound đӇ tính bao trùm trên cӫa mҥng ӭng viên,
gӑi là R
U
(x) trӯ nhӳng giҧi pháp tӕt nhҩt gӑi là x
BEST
 Các mҥng có R
U
(x) >R
o

và có chi phí nhӓ nhҩt sӁ đưӧc đánh giá chính
xác đӝ tin cұy mҥng sӱ dөng Monte Carlo simulation
(2)
10
Giҧi thuұt
1. Sinh mүu kích cӥ s,tính
hàm thích nghi cӫa mӛi
mҥng ӭng viên trong quҫn
thӇ. g=1Ʀ
Bҳt đҫu
2. Chӑn 2 ӭng viên
3. Sӱ dөng lai giӕng
(crossover) và đӝt biӃn
(mutation) đӇ tҥo ra 2
children
4. Xác đӏnh 2-C đӕi vӟi mӛi con mӟi, sӱ dөng
giҧi thuұt chӍnh sӱa nӃu không thӓa mãn
2-C
. Tính toán R
U
(x) vӟi mӛi con mӟi sӱ dөng
Janƞs upper bound và tính toán hàm Thích
nghi cӫa nó sӱ dөng phương trình (2)
6. Sӕ lưӧng
con mӟi <s-1?
7. Thay cha mҽ bҵng con cái, giӳ lҥi các giҧi
pháp tӕt nhҩt tӯ thӃ hӋ trưӟc.
8. Sҳp xӃp thӃ hӋ mӟi theo hàm thích nghiƦ
9. g=g
MAX

?
KӃt thúc
YES
NO
YES
NO
g=g+1
11
Chi tiӃt bưӟc 1
 Khӣi tҥo quҫn thӇ kích cӥ s
 Tính hàm thích nghi cӫa mӛi mҥng ӭng
viên sӱ dөng phương trình (2) và Janƞs
upper bound trӯ mҥng có chi phí nhӓ
nhҩt vӟi R
u
(x)>=R
0
(x
BEST
).
 Vӟi mҥng x
BEST
này, sӱ dөng đánh giá
Monte Carlo cӫa R(x) như trong
phương trình (2)
12
Chi tiӃt bưӟc 8
 Trong thӃ hӋ mӟi, sҳp xӃp theo hàm
thích nghi.
 Xét các ӭng viên tӯ 1 tӟi s (theo hàm

thích nghi)
 NӃu Z(x
i
) < Z(x
BEST
), tính đӝ tin cұy cӫa
mҥng này sӱ dөng Monte Carlo simulation,
nӃu không tӟi bưӟc 9
 Gán x
BEST
=x
i
, chuyӇn tӟi bưӟc 9.
13
Giҧi thuұt chӍnh sӱa kӃt nӕi (connectivity
Repair Algorithm)
1. Xác đӏnh N
k
, và n
k
; k=1Ʀmax
mӭc đӝ nút trong mҥng
2. XӃp hҥng tҩt cҧ N
k
, và n
k
, trӯ
N
1
, và n

1
, trong thӭ tӵ tăng tӯ
k=2 Ʀ.max, xác đӏnh N
min
, và n
min
- N
k
là tұp các nút
mӭc đӝ k
- N
min
là tұp các nút
vӟi mӭc đӝ nhӓ
nhҩt trӯ nhӳng nút 1
đӝ
- n
k
là sӕ lưӧng
node trong tұp N
k
- m
1j
nhãn nút trong
tұp N
1
- m
minj
nhãn nút
trong tұp N

min
,
j=1,2,«N
min
2a. NӃu
n
1
=1, xác
đӏnh kӃt
nӕi chi phí
nhӓ nhҩt
giӳa nút
này và các
nút trong
tұp N
min

nӕi chúng
2b. Tính chi phí kӃt nӕi
giӳa 2 nút đó
-Tính chi phí kӃt nӕi tӯ
tұp 2 nút tӟi các nút trong
tұp N
min
-NӃu chi phí nӕi 2 nút nhӓ
hơn tәng chi phí nӕi tӯng
nút vào tұp N
min
thì nӕi 2
nút, nӃu không thì nӕi

tӯng nút vào tұp N
min
2c. Chӑn
ngүu nhiên
2 nút trong
tұp N
1
- Áp dөng
(2b) cho 2
nút này đӃn
khi không
còn phҫn tӱ
nào trong N
1
n
1
=1
n
1
=2
n
1
>2
14
Minh hӑa ƛ ChӍnh sӱa
Bưӟc 1: N
1
=[1,2] , n
1
=2; N

2
=[3,4,5], n
2
=3. Trong
trưӡng hӧp này, N
min
=N
2
và n
min
=n
2
. Áp dөng bưӟc
2b, bӣi n
1
=2;
Bưӟc 2b:
-1 và 2 là các nút trong tұp N
1
;
-3,4,5 là nút trong tұp N
min
.
-Chi phí cӫa 2 nút trong tұp N
1
là c
1,2
= 32.
-Các chi phí cӫa m
11

tӟi các nút trong tұp N
min

c
1,3
=54, c
1,4
=62 và c
1,5
đã tӗn tҥi. c
1,3
< c
1,4
 c
1,3

chi phí kӃt nӕi nhӓ nhҩt.
-Chi phí kӃt nӕi tӯ m
12
tӟi các nút trong tұp N
min

c
2,3
=34, c
2,4
đã tӗn tҥi và c
2,5
=45. Do c
2,3

< c
2,5
 c
2,3
là kӃt nӕi có chi phí nhӓ nhҩt.
- c
1,2
< [c
1,3
+c
2,3
]  nӕi 1 và 2 thay vì nӕi (1,3) và
(2,3)
c
1,2
=32, c
1,3
=54,
c
1,4
=62, c
1,5
=25,
c
2,3
=34, c
2,4
=58,
c
2,5

=45,
c
3,4
=36,c
3,5
=52,
c
4,5
=29
Trưӟc chӍnh sӱa
Sau chӍnh sӱa
15
Lai giӕng (Crossover Operator)
1. Lӵa chӑn 2 mҥng ӭng
viên, gӑi là T1 và T2, xác
đӏnh phҫn link chung và
phҫn link riêng
2. Gán phҫn link chung cho
con cái T1ƞ và T2ƞ
3. T1ƞ và T2ƞ là
ST?
5. Xác đӏnh CT1 và CT2
CT1=T1\T1ƞ
CT2=T2\T2ƞ
4. Gán các link cӫa riêng
T1(chi phí tӯ nhӓ tӟi lӟn)
vào T1ƞ đӃn khi T1 là ST ,
tương tӵ vӟi T2ƞ
6. Xác đӏnh thӃ hӋ sau:
-T1ƞ = T1ƞ U CT2

-T2ƞ= T2ƞ U CT1
YES
NO
16
Minh hӑa ƛ Lai giӕng
T1 T2
T1¶
T2¶
Bưӟc 1
Bưӟc 4
Bưӟc 2
Bưӟc 5 &6
ChӍnh sӱa T2¶
T1¶ T2¶
T1¶
T2¶
T2¶
17
Đӝt biӃn (Mutation Operator)
1. Xác đӏnh cҩp đӝ nút cho
mҥng toàn mҥng deg(j)
2. Chӑn 1 link bҩt kǤ
không trong mҥng và
thêm vào, Stop
4. Sinh u trong
khoҧng (0,1)
3. Sҳp xӃp các link trong mҥng theo thӭ tӵ
chi phí giҧm dҫn
-Xóa link chi phí cao nhҩt
-NӃu mҥng vүn là 2-C, dӯng lҥi, nӃu không,

hӫy bưӟc xóa link
-Thӱ vӟi các link khác trong dãy sҳp xӃp
-Stop khi mӝt link đưӧc xóa hoһc hӃt dãy
NӃu u<(1-
DR)
deg(j)=2 vӟi tҩt cҧ các nút
deg(j)>2
vӟi tҩt cҧ
các nút
deg(j)>=2 vӟi tҩt cҧ các nút
YES
NO
18
Minh hӑa ƛ Đӝt biӃn
Sau đӝt biӃn
Trưӟc đӝt biӃn
Bưӟc 1: trong mҥng thҩy
deg(1)=2; deg(2)=2; deg(3)=3; deg(4)=2;
deg(5)=3.
Ta thҩy N
2
=[1,2,4]; N
3
=[3,5]; Trong trưӡng hӧp
này áp dөng bưӟc 4.
Bưӟc 4: Sinh u ~[0,1], ví dө u=0.4578 và DR
=0.7; do u>=(1-DR), tӟi bưӟc 3.
Bưӟc 3: sӱ dөng thao tác drop, drop L
3,5
do

không vi phҥm điӅu kiӋn 2-C
19
ĐӅ xuҩt phát triӇn phҫn mӅm
 Nhұn xét:
 Mô hình hóa bài toán đơn giҧn: chӍ gӗm nút (label, position), kӃt nӕi (giӳa
2 nút), chi phí kӃt nӕi, đӝ tin cұy kӃt nӕi
 Các tính toán theo giҧi thuұt trong bài chӫ yӃu là tính toán ma trұn
 ĐӅ xuҩt phát triӇn
 Mã n hóa các nút và các link giӳa các nút bӣ i ma trұn n x n
 Mӛi phҫn tӱ trong ma trұn(link giӳa 2 nút) là phҫn tӱ có cҩu trúc
 Giá trӏ (0,1)
 Chi phí
 Đӝ tin cұy
 Thӵc hiӋn các bưӟc trong giҧi thuұt dӵa trên tính toán vӟi ma trұn
 Phҫn thӱ nghiӋm đã thӵc hiӋn:
 Giao diӋn web, đӗ hӑa
 Dùng ASP.NET và JDK cӫa Mindfusion
 CSDL SQL SERVER 2000
 Mã hóa các nút mҥng (BRAS, PE Router, Core Switch, Access Switch, IP
DSLAM, ATM DSLAM, MSAN
 Tính toán ma trұn đӇ xét đưӡng đi tӯ nút này đӃn nút khác
20
KӃt luұn
 GA heuristic rҩt hiӋu quҧ trong viӋc xác đӏnh các bài toán tӕi ưu
thұm chí không gian tìm kiӃm lên tӟi 10
16
.
 Các rào cҧn phҧi vưӧt qua:
 Vҩn đӅ ràng buӝc chһt
 Vҩn đӅ Tính toán phӭc tҥp

 Giҧi pháp đã thӵc hiӋn (trong bài báo):
 Sӱ dөng hàm penalty function
 Sӱ dөng Janƞs upper bound, giҧi thuұt sӱa chӳa và tìm kiӃm đӏa
phương
 Khӣi đҫu quҫn thӇ phù hӧp
 Đôi khi phương pháp sӁ không xác đӏnh đưӧc giҧi pháp tӕt
nhҩt nhưng là giҧi pháp tӕt, đưӧc mong chӡ, tiӃt kiӋm thӡi
gian và chi phí
21
Tài liӋu tham khҧo
 /> />er=661548
 />on)
 />22
Questions & Answers !!!

×