200 likes | 307 Views
Fundamentals of GA Part 10. S. M. Vahidipour. Degree-Constrained MST. If we assume that there is a degree constraint on each vertex d j : the degree of V j. Heuristic Algorithm. 1. Finding a MST without a degree constraint 2. Modifying the MST combined with a degree constraint
E N D
Fundamentals of GAPart 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 ProblemZhou, et. al., Computational Intelligence and Security, 2007.
Degree-Based Permutation Encoding • گام اول:یک رأس (رأس ریشه) را در یک درخت برچسب دار به نام T انتخاب می کنیم. آن را به عنوان اولین رقم در بعد مربوط به رأس جایگشت، قرار می دهیم و درجهی آن را به عنوان اولین رقم در بعد مربوط به درجه قرار می دهیم و این رأس را به عنوان رأس جاری در نظر می گیریم. • گام دوم: فرزندان رأس جاری را از چپ به رأست چک می کنیم. اگر فرزندی وجود داشت، آن را در بعد مربوط به رأس و درجهی آن را در بعد مربوط به درجه قرار می دهیم و به گام 3 می رویم. اگر چنین رأسی وجود نداشت، رأس پدر را به عنوان رأس جاری در نظر می گیریم و به گام 2 می رویم. • گام سوم: اگر رأس فرزند، برگ نباشد آن را رأس جاری قرار می دهیم و به گام 2 می رویم و اگر برگ باشد آن را حذف کرده و به گام 4 می رویم. • گام چهارم: اگر همهی رأس ها چک شده اند متوقف می شویم. وگرنه به گام 2 می رویم.
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
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.
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:ماکزیمم هزینهی اتصالات در گراف اولیه است • bi,j : Link bias مربوط به یال بین راسهای i و j • bi:Node bias مربوط به نود 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: رمزگشایی کرومزومها و نیز عملگرهای ترکیب و جهش باید قابلیت این را داشته باشند که محدودیتهای مشخص شده در مسأله را اعمال کنند. در اینجا میتوان محدودیت درجهی هر رأس در درخت را مثال زد