1 / 20

Fundamentals of GA Part 10

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

salim
Download Presentation

Fundamentals of GA Part 10

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fundamentals of GAPart 10 S. M. Vahidipour

  2. Degree-Constrained MST • If we assume that there is a degree constraint on each vertex • dj: the degree of Vj

  3. 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.

  4. 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.

  5. Degree-Based Permutation Encoding • گام اول:یک رأس (رأس ریشه) را در یک درخت برچسب دار به نام T انتخاب می کنیم. آن را به عنوان اولین رقم در بعد مربوط به رأس جایگشت، قرار می دهیم و درجه‏ی آن را به عنوان اولین رقم در بعد مربوط به درجه قرار می دهیم و این رأس را به عنوان رأس جاری در نظر می گیریم. • گام دوم: فرزندان رأس جاری را از چپ به رأست چک می کنیم. اگر فرزندی وجود داشت، آن را در بعد مربوط به رأس و درجه‏ی آن را در بعد مربوط به درجه قرار می دهیم و به گام 3 می رویم. اگر چنین رأسی وجود نداشت، رأس پدر را به عنوان رأس جاری در نظر می گیریم و به گام 2 می رویم. • گام سوم: اگر رأس فرزند، برگ نباشد آن را رأس جاری قرار می دهیم و به گام 2 می رویم و اگر برگ باشد آن را حذف کرده و به گام 4 می رویم. • گام چهارم: اگر همه‏ی رأس ها چک شده اند متوقف می شویم. وگرنه به گام 2 می رویم.

  6. Degree-Based Permutation decoding

  7. 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

  8. 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)

  9. X-over • Order X-over: it is operated only on the vertex dimension

  10. Swap Mutation on Vertices

  11. Insertion Mutation This operator can maintain a good heritage from generation to generation

  12. 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.

  13. Results

  14. 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)

  15. Edge Set • درخت پوشا مستقیما با مجموعه‏ی یال‏هایش نمایش داده می‏شود و هر یال نیز با دو رأسش در گراف مشخص می‏شود. • این کدینگ را می‏توان در ساختمان داده‏های گوناگونی مانند آرایه یک‏بعدی یا دوبعدی و یا Hash Table پیاده‏سازی کرد. • Paper:G. R. Raidl, B. A. Julstrom: Edge-Sets, An Effective Evolutionary Coding of Spanning Trees,…,2003

  16. 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.

  17. 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

  18. CB-TCR-coding • از اولین ژن شروع کرده و یال‏ها را به ترتیب به زیردرخت اضافه می‏کنیم. • در صورت به وجود آمدن چرخه، یالی از چرخه که بیشترین هزینه را در گراف دارد، حذف می‏شود.

  19. Encoding comparison • فضا: کرومزوم‏ها نباید مقدار زیادی از فضای حافظه را اشغال کنند. • زمان: پیچیدگی زمانی ارزیابی، ترکیب و جهش کرومزوم‏ها باید کم باشد. هنگامی که کرومزوم‏ها یک درخت پوشا را نشان می‏دهند، در ارزیابی یک جواب، ممکن است نیاز به رمزگشایی کرومزوم برای تعیین درخت متناظر با آن باشد. • Feasibility: همه‏ی کرومزوم‏ها خصوصا آنهایی که بعد از عمل ترکیب یا جهش تولید می‏شوند، باید جواب‏هایی را نشان دهند که ممکن و شدنی باشد. • Coverage: کدینگ باید قابلیت نمایش همه‏ی جواب‏های ممکن را داشته باشد. • Locality: یک کرومزوم جهش‏یافته معمولا باید جوابی را که شبیه به والدش باشد نشان دهد. در اینجا باید درختی را نشان دهد که دارای بیشترین یال‏های موجود در درخت پدر باشد. • Heritability: فرزند به وجود آمده از عمل ترکیب باید حاوی ترکیبی از زیرساخت‏های موجود در والدینش باشد. در اینجا فرزند باید درختی را نشان دهد که حاوی بیشترین یال‏های موجود در درخت‏های والد باشد. • Constraints: رمزگشایی کرومزوم‏ها و نیز عملگرهای ترکیب و جهش باید قابلیت این را داشته باشند که محدودیت‏های مشخص شده در مسأله را اعمال کنند. در اینجا می‏توان محدودیت درجه‏ی هر رأس در درخت را مثال زد

  20. Encoding comparison

More Related