CH NG 3 GI ITHIU TH UT TOÁN FIREFLY ALGORITHM
3.4. TH UT TOÁN OM ịM VIL NGT
3.4.1. Ph ng pháp l ng t (Quantum-Inspried evolutionary algorithm ậ QEA)
Máy tính c l ng t đ c đ xu t vào đ u nh ng n m 1980 [46] và mô t v
máy tính c l ng t đ c chính th c hóa vào cu i nh ng n m 1980 [47]. Nhi u n l c v máy tính l ng t đã ti n tri n tích c c k t đ u nh ng n m 1990 vì nh ng máy tính
này đ c ch ng minh là m nh h n máy tính c đi n trong các v n đ chuyên bi t khác nhau. Có các thu t tốn l ng t n i ti ng nh thu t toán th a s l ng t c a Shor [48] và thu t tốn tìm ki m c s d li u c a Grover [49]. Nghiên c u v vi c h p nh t đi n tốn ti n hóa và đi n tốn l ng t đã đ c b t đ u t cu i nh ng n m 1990. Chúng có
th đ c phân thành hai l nh v c. M t h ng nghiên c u t p trung vào vi c t o ra các thu t toán l ng t m i b ng cách s d ng các k thu t l p trình t đ ng nh l p trình di truy n [50]. H ng nghiên c u cịn l i t p trung vào tính tốn ti n hóa l y c m h ng t l ng t cho m t máy tính c đi n, m t nhánh nghiên c u v tính tốn ti n hóa đ c
đ c tr ng b i các nguyên t c nh t đnh c a c h c l ng t nh sóng đ ng, giao thoa, liên t c, v.v. Trong [51] và [52], khái ni m v s giao thoa đã đ c đ a vào m t toán t chéo.
nh ngh a 1: Nh ng đi u c b n c a tính tốn l ng t đ c gi i quy t ng n g n trong ph n sau. n v nh nh t c a thông tin đ c l u tr trong máy tính l ng t hai tr ng thái đ c g i là bit l ng t ho c qubit [53]. M t qubit có th tr ng thái “1”,
tr ng thái “0” ho c b t k ch ng ch t nào c a c hai. Tr ng thái c a qubit có th
đ c bi u di n d i d ng
(3.19)
trong đó à là các s ph c xác đ nh biên đ xác su t c a các tr ng thái t ng ng. cho xác su t tìm th y qubit tr ng thái “0” và cho xác su t tìm th y qubit tr ng thái “1”. Do đó, tr ng thái có th chu n hóa thành hàm th ng nh t nh sau:
(3.20) Tr ng thái c a Q-bit đ c c p nh t thông qua c ng l ng t đ c g i là c ng có th đ o ng c, có th đ c bi u di n nh toán t đ n nh t . Lo i c ng l ng t bao g m c ng Không, c ng Không đi u khi n đ c, c ng xoay và c ng Hadamard [53]. N u có m t h th ng các qubit, h th ng có th bi u di n các tr ng thái cùng m t
lúc. Tuy nhiên, trong hành đ ng quan sát m t tr ng thái l ng t , nó s h i t v m t tr ng thái duy nh t.
nh ngh a 2: M t cá th Q-bit d i d ng m t chu i Q-bit đ c đ nh ngh a là: (3.21)
trong đó v i . u đi m c a Q-bit là có th bi u di n
tuy n tính các tr ng thái liên ti p. Ví d v i h th ng Q-bit v i 3 c p biên đ nh sau: (3.22) Tr ng thái c a h th ng có th xác đ nh nh sau: (3.23) Xác su t xu t hi n c a các tr ng thái là à . Do đó, h th ng 3 Q-bit c a (3.22)
ch a thông tin c a 8 tr ng thái.
nh ngh a 3: C ng Q-gate đ c đ nh ngh a là m t toán t bi n th c a QEA, theo
đó ho t đ ng c a Q-bit đ c c p nh t ph i th a mãn đi u ki n chu n hóa , trong đó và là các giá tr c a Q-bit đ c c p nh t.
C ng xoay sau đây đ c s d ng làm Q-gate trong QEA, ch ng h n nh
cos
(3.24)
trong đó, v i là góc quay c a m i Q-bit v phía tr ng thái 0 ho c 1 tùy thu c vào d u c a nó. nên đ c thi t k phù h p v i v n đ đ c áp d ng. Trong bài toán Knapsack nh n đ c d i d ng m t hàm c a bit th c a gi i pháp t t nh t và bit th c a gi i pháp nh phân . C n l u Ủ r ng c ng NOT, c ng NOT có ki m sốt, ho c c ng Hadamard có th đ c s d ng làm Q-gate. C ng NOT thay đ i xác su t c a
tr ng thái 1 (ho c 0) thành xác su t c a tr ng thái 0 (ho c 1). Nó có th đ c s d ng đ
thoát kh i m c t i u c c b . Trong c ng NOT đ c đi u khi n, m t trong hai bit ph i là
bit đi u khi n. N u bit đi u khi n là 1, NOT đ c áp d ng cho bit cịn l i. Nó có th đ c s d ng cho các bài tốn có s ph thu c l n c a hai bit. C ng Hadamard phù h p v i các thu t tốn s d ng thơng tin pha c a Q-bit, c ng nh thông tin biên đ .
Hình 3.4. Bi u đ c c c a c ng xoay cho cá th Q-bit
nh ngh a 4: Di chuy n trong QEA đ c đ nh ngh a là quá trình sao chép
vào ho c đ n . Di chuy n toàn c c đ c th c hi n b ng cách thay th t t c các gi i pháp b ng và di chuy n c c b đ c th c hi n b ng cách thay th m t s gi i pháp b ng gi i pháp t t nh t trong s đó. 3.4.2. S đ thu t tốn c a ph ng pháp l ng t B t đ u thu t toán Begin 1. Kh i t o 2. Tính d a theo tr ng thái c a 3. ánh giá 4. L u giá tr t t nh t c a vào While (ch a th a đi u ki n k t thúc vịng l p) Begin 5. Tính d a theo tr ng thái c a
6. ánh giá
7. C p nh t b ng c ng Q-gates
8. L u giá tr t t nh t c a và vào 9. L u giá tr t t nh t c a vào
10. If (th a đi u ki n k t thúc vòng l p)
Then di chuy n ho c vào toàn c c ho c c c b
End
End
K t thúc thu t tốn
Hình 3.5. S đ thu t toán c a ph ng pháp l ng t
QEA là m t thu t toán xác su t t ng t nh các thu t tốn ti n hóa khác. Tuy nhiên, QEA duy trì m t qu n th các cá th Q-bit t i th h , v i
(3.25)
Trong đó là s l ng Q-bits, t c là đ dài chu i c a t ng Q-bit và 1. b c 1, à v i c a t t c v i
đ c kh i t o v i giá tr . Nó có ngh a là m t cá th Q-bit, đ i di n cho s ch ng ch t tuy n tính c a t t c các tr ng thái có th có v i cùng m t xác su t
(3.26)
Trong đó là tr ng thái th đ c bi u di n b ng chu i nh phân trong
đó v i là 0 ho c 1 theo xác su t c a và .
2. B c này tính giá tr nh phân trong b ng cách quan sát các tr ng thái c a
, trong đó t i . M t gi i pháp nh phân, v i
là m t chu i nh phân có đ dài , đ c hình thành b ng cách ch n 0 ho c 1 cho m i bit s d ng xác su t, ho c ho c v i c a . Trong m t máy tính l ng t , khi quan sát m t tr ng thái l ng t , nó s h i t v m t tr ng thái duy nh t. Tuy nhiên, vi c thu g n thành m t tr ng thái duy nh t không x y ra trong
QEA, vì QEA đang làm vi c trên m t máy tính c đi n, khơng ph i máy tính l ng t . 3. M i gi i pháp nh phân đ c đánh giá đ cung c p m c đ phù h p c a nó. 4. Các gi i pháp t t nh t ban đ u sau đó đ c ch n trong s các gi i pháp nh phân và đ c l u tr vào , trong đó và
gi ng nh t i th h ban đ u.
5 + 6. Trong vòng l p while, các gi i pháp nh phân trong đ c hình thành b ng cách quan sát các tr ng thái nh trong b c 2 và m i gi i pháp nh phân
đ c đánh giá cho giá tr phù h p. C n l u Ủ r ng trong có th đ c hình thành b i nhi u l n quan sát v trong . Trong tr ng h p này, nên đ c thay th b ng , trong đó là m t ch s quan sát.
7. Trong b c này, các cá th Q-bit trong đ c c p nh t b ng cách áp d ng các c ng Q đ c đ nh ngh a công th c (3.25).
8 + 9. Các gi i pháp t t nh t trong s và đ c l a ch n và l u tr
vào , và n u gi i pháp t t nh t đ c l u tr trong đó phù h p h n so v i gi i pháp t t nh t đ c l u tr , các gi i pháp đ c l u tr s đ c thay th b ng m t giá tr m i.
10. N u m t đi u ki n di chuy n đ c th a mãn, thì gi i pháp t t nh t s đ c di chuy n đ n , ho c gi i pháp t t nh t trong s m t s gi i pháp trong đó là
di chuy n đ n chúng. i u ki n di chuy n là m t tham s thi t k và quá trình di chuy n
đ c xác đ nh d i đây có th t o ra s thay đ i xác su t c a m t cá th Q-bit.
Các gi i pháp nh phân trong b lo i b cu i vịng l p vì s đ c t o ra b ng cách quan sát c p nh t b c 7. Cho đ n khi đi u ki n k t thúc đ c th a
mãn, QEA đang ch y trong vòng l p while.
3.4.3. Áp d ng thu t tốn đom đóm v i l ng t
Nhi u v n đ t i u hóa gi i quy t các ch c n ng đa chi u th c. Nhi m v là tìm giá tr l n nh t (ho c nh nh t) c a hàm, v i đi u ki n là các đ i s c a nó thu c m t s ph m vi đ c xác đ nh tr c:
(3.27)
Trong đó và
M t s ph ng án bi u di n cho các v n đ đ c đánh giá th c t đã đ c đ
xu t, c ng nh các bi n th khác nhau cho các tốn t ti n hóa. M t cách ti p c n là mã hóa các giá tr th c d i d ng bit, trong đó m t s nh phân thu đ c b ng cách đo m t
vect t ng ng g m các qubit. V n đ chính là đ chính xác có th ch p nh n đ c
đòi h i m t s l ng l n qubit, đ c bi t là đ i v i các bài toán t i u hóa l n. Ví d , m t trong nh ng bài toán t i u đa m c tiêu, nhi u v n đ đ c đ xu t có 100 s th c t o thành các gi i pháp và c n đ c xác đ nh. M t cách ti p c n khác là s d ng m t trong các giai đo n c a các qubit, đ c xác đnh b i biên đ xác su t.
t , có các ph ng án khác nhau đ c đ xu t đ k t n i
(3.28)
Ho c
(3.29) H u h t các tác gi s d ng c ng xoay đ di chuy n m t cá th riêng l v phía giá tr c a cá th t t nh t hi n t i. Tr ng l ng c a các hàm m c tiêu có th đ c s d ng đ xác đ nh kích th c c a góc quay [47]. M c dù c ng ph đ nh đ c s d ng đ gây đ t bi n trong nhi u tr ng h p, nh ng đ t bi n h n lo n c ng có th đ c s d ng [49], b ng cách t o ra m t chu i h n lo n d a trên ph n h n lo n c a s đ phân nhánh. M t cách đ n gi n đ mã hóa thơng tin giá tr th c các qubit là s d ng góc pha.
Trong tr ng h p này, nhi m s c th s d ng cái g i là “mã hóa chu i kép” [48] có c u trúc sau:
(3.30) Các ho t đ ng ti n hóa đ c th c hi n b ng các c ng l ng t , t ng ng v i các phép quay c a các tham s qubit
cos
(3.31)
Thơng th ng, m t phép tốn g n t ng ng v i s trao đ i chéo là xoay m t gen c a m t cá th theo giá tr gen c a cá th t t nh t trong qu n th hi n t i, b ng cách thêm m t giá tr (có th âm):
= (3.32)
= (3.33)
C ng xoay đ c đ xu t này bao g m 2 k thu t, c th là c ng xoay t a đ , và
ph ng pháp xác đ nh góc xoay đ ng đ c s d ng đ c p nh t Q-bit và xác đ nh đ
l n c a góc quay. Do đó khơng có b ng tra c u nào đ c xây d ng tr c, và góc quay
(3.34)
Trong đó là đ l n c a góc quay, nó gi m đ n đi u t đ n theo s l n l p.
3.5. M T S PH NG PHÁP C I TI N QUAN TR NG TRONG QUÁ TRÌNH PHÁT TRI N C A THU T TOÁN OM ịM