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) متوسط دارد کم ضعیف ضعیف خوب دارد زیاد خوب خوب خوب دارد متوسط متوسط خوب خوب دارد زیاد خوب خوب