O(n)

advertisement
Fundamentals of GA
Part 10
S. M. Vahidipour
Degree-Constrained MST
• If we assume that there is a degree constraint
on each vertex
• dj: the degree of Vj
Heuristic Algorithm
– 1. Finding a MST without a degree constraint
– 2. Modifying the MST combined with a degree constraint
• it is difficult to operate large scale problem
• paper:
– Narula and Ho, Degree-constrained MST,.., 1980
– Savelsberg, Local search for routing problem with time windowing, 1985.
– Volgenant, A Lagrangean approach to the degree-constrained MST
problem,…, 1989.
GA Implementation
• a specific representation: Degree-based
Permutation: It has two parts
– The connectivity among vertices
– The degree value of each vertex
• A 2˟n matrix is needed to represent a chromosome
for a n-vertex tree.
– the vertex dimension: take the integers from 1 to n
– the degree dimension: take the integer from 1 to b
•
Paper: A New Tree Encoding for the Degree-Constrained Spanning Tree Problem
Zhou, et. al., Computational Intelligence and Security, 2007.
‫‪Degree-Based Permutation Encoding‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫گام اول‪:‬یک رأس (رأس ریشه) را در یک درخت برچسب دار به نام ‪ T‬انتخاب می کنیم‪ .‬آن را به عنوان اولین رقم در بعد‬
‫مربوط به رأس جایگشت‪ ،‬قرار می دهیم و درجهی آن را به عنوان اولین رقم در بعد مربوط به درجه قرار می دهیم و این‬
‫رأس را به عنوان رأس جاری در نظر می گیریم‪.‬‬
‫گام دوم‪ :‬فرزندان رأس جاری را از چپ به رأست چک می کنیم‪ .‬اگر فرزندی وجود داشت‪ ،‬آن را در بعد مربوط به رأس و‬
‫درجهی آن را در بعد مربوط به درجه قرار می دهیم و به گام ‪ 3‬می رویم‪ .‬اگر چنین رأس ی وجود نداشت‪ ،‬رأس پدر را به‬
‫عنوان رأس جاری در نظر می گیریم و به گام ‪ 2‬می رویم‪.‬‬
‫گام سوم‪ :‬اگر رأس فرزند‪ ،‬برگ نباشد آن را رأس جاری قرار می دهیم و به گام ‪ 2‬می رویم و اگر برگ باشد آن را حذف‬
‫کرده و به گام ‪ 4‬می رویم‪.‬‬
‫گام چهارم‪ :‬اگر همهی رأس ها چک شده اند متوقف می شویم‪ .‬وگرنه به گام ‪ 2‬می رویم‪.‬‬
Degree-Based Permutation decoding
Degree-Based Permutation coding
• any spanning tree can be encoded by the representation
•
•
•
•
any encoding represents a spanning tree
The relation between them may not be 1-to-1
different encoding may present the same tree
small changes in the genotype make small changes in
the phenotype: Locality
Initial population
• the gene in this problem need to satisfy the
following conditions:
– For an n-vertex tree, the degree value for any vertex is at
least 1
– total degree value for all vertices is 2(n-1)
X-over
• Order X-over: it is operated
only on the vertex dimension
Swap Mutation on Vertices
Insertion Mutation
This operator can maintain a good heritage from generation to generation
Numerical Examples
• Popsize=100, X-rate=0.4, M-rate(exchange=0.2
Insertion=0.6), Max-Gen=500
• five randomly generated instance.
• The weights are generated randomly over
[10,100]
• The Lower bounds (LBs) are calculated using
Prim’s by relaxing the degree constrained.
Results
Some Spanning Tree Coding
•
•
•
•
•
•
•
•
•
•
RPM (Randomized Primal Method)
Encoding Prüfer
Edge-Set (Direct Tree Encoding)
LNB (Link & Node Biased)
Determinant Encoding
NetKey (Network Random Key)
S/D Binary (Splicing/Decomposable)
Characteristic Vector
Predecessor Coding
CB-TCR (Cycle-Breaking Tree-Construction-Routine)
‫‪Edge Set‬‬
‫• درخت پوشا مستقیما با مجموعهی یالهایش نمایش داده میشود و هر یال نیز با دو رأسش در‬
‫گراف مشخص میشود‪.‬‬
‫• این کدینگ را میتوان در ساختمان دادههای گوناگونی مانند آرایه یکبعدی یا دوبعدی و یا ‪Hash‬‬
‫‪ Table‬پیادهسازی کرد‪.‬‬
‫‪Paper: G. R. Raidl, B. A. Julstrom: Edge-Sets, An Effective Evolutionary Coding of Spanning‬‬
‫‪Trees,…,2003‬‬
‫•‬
‫‪Link and Node Biased‬‬
‫•‬
‫•‬
‫)‪ :G(V , E‬گراف کامل با ‪ n‬رأس و یک تابع هزینهی ‪.C:V×V → R+‬‬
‫یک رشته از اعداد صحیح در بازهی ]‪ [0-255‬است که نشاندهندهی ‪Link bias‬ها و ‪Node bias‬ها‬
‫میباشد‪.‬‬
‫برای به دست آوردن درخت پوشای متناظر با این کدینگ‪ ،‬ابتدا با استفاده از رابطه زیر یک تابع هزینهی‬
‫جدید برای گراف به دست میآوریم‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪ :Cmax‬ماکزیمم هزینهی اتصاالت در گراف اولیه است‬
‫‪ Link bias : bi,j‬مربوط به یال بین راسهای ‪ i‬و ‪j‬‬
‫‪ Node bias: bi‬مربوط به نود ‪i‬‬
‫‪ p1‬و ‪ : p2‬پارامترهای کنترلی‬
‫با توجه به وزنهای جدید یالهای گراف‪ ،‬الگوریتم ‪ Prim‬را برای یافتن درخت پوشای کمینه اجرا میکنیم‪.‬‬
‫درخت به دست آمده‪ ،‬متناظر با کرومزوم کدشده به وسیلهی ‪ LNB‬میباشد‪.‬‬
‫•‬
‫‪Paper: Sang-Moon Soak, A New Evolutionary Approach for the Optimal Communication Spanning Tree‬‬
‫‪Problem,.., 2006.‬‬
‫•‬
‫)‪CB-TCR (Cycle-Breaking Tree-Construction-Routine‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫از جدیدترین کدینگهایی که در عین سادگی‪ ،‬کارآیی باالیی دارد‪.‬‬
‫برای نمایش درخت پوشا از کرومزومی به طول )‪ 2(n-1‬استفاده‬
‫میشود که هر ژن آن عدد صحیحی بین ‪ 1‬تا ‪ n‬است و یکی از‬
‫رأسهای گراف را نشان میدهد‪.‬‬
‫هر رأس باید حداقل یک بار در کدینگ ظاهر شود‪.‬‬
‫هر جفت ژن کنار هم در کرومزوم‪ ،‬یک یال را نشان میدهد‪.‬‬
‫‪Paper: Sang-Moon Soak, A New Evolutionary Approach for the Optimal Communication‬‬
‫‪Spanning Tree Problem,.., 2006‬‬
‫•‬
‫‪CB-TCR-coding‬‬
‫•‬
‫•‬
‫از اولین ژن شروع کرده و یالها را به ترتیب به زیردرخت اضافه میکنیم‪.‬‬
‫در صورت به وجود آمدن چرخه‪ ،‬یالی از چرخه که بیشترین هزینه را در گراف دارد‪ ،‬حذف میشود‪.‬‬
‫‪Encoding comparison‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫فضا‪ :‬کرومزومها نباید مقدار زیادی از فضای حافظه را اشغال کنند‪.‬‬
‫زمان‪ :‬پیچیدگی زمانی ارزیابی‪ ،‬ترکیب و جهش کرومزومها باید کم باشد‪ .‬هنگامی که کرومزومها یک درخت‬
‫پوشا را نشان میدهند‪ ،‬در ارزیابی یک جواب‪ ،‬ممکن است نیاز به رمزگشایی کرومزوم برای تعیین درخت‬
‫متناظر با آن باشد‪.‬‬
‫‪ :Feasibility‬همهی کرومزومها خصوصا آنهایی که بعد از عمل ترکیب یا جهش تولید میشوند‪ ،‬باید‬
‫جوابهایی را نشان دهند که ممکن و شدنی باشد‪.‬‬
‫‪ :Coverage‬کدینگ باید قابلیت نمایش همهی جوابهای ممکن را داشته باشد‪.‬‬
‫‪ :Locality‬یک کرومزوم جهشیافته معموال باید جوابی را که شبیه به والدش باشد نشان دهد‪ .‬در اینجا‬
‫باید درختی را نشان دهد که دارای بیشترین یالهای موجود در درخت پدر باشد‪.‬‬
‫‪ :Heritability‬فرزند به وجود آمده از عمل ترکیب باید حاوی ترکیبی از زیرساختهای موجود در‬
‫والدینش باشد‪ .‬در اینجا فرزند باید درختی را نشان دهد که حاوی بیشترین یالهای موجود در درختهای‬
‫والد باشد‪.‬‬
‫‪ :Constraints‬رمزگشایی کرومزومها و نیز عملگرهای ترکیب و جهش باید قابلیت این را داشته باشند که‬
‫محدودیتهای مشخص شده در مسأله را اعمال کنند‪ .‬در اینجا میتوان محدودیت درجهی هر رأس در درخت‬
‫را مثال زد‬
Encoding comparison
Space
Time
Feasibility
Coverage
Locality
Heritability
Constraints
Prufer
O(n)
O(nlgn)
Edge-Set
O(n)
O(n)
LNB
O(n+m)
O(m+nlgn)
CB-TCR
O(n)
O(n)
‫متوسط‬
‫دارد‬
‫کم‬
‫ضعیف‬
‫ضعیف‬
‫خوب‬
‫دارد‬
‫زیاد‬
‫خوب‬
‫خوب‬
‫خوب‬
‫دارد‬
‫متوسط‬
‫متوسط‬
‫خوب‬
‫خوب‬
‫دارد‬
‫زیاد‬
‫خوب‬
‫خوب‬
Download