یک الگوریتم نوین جهت رنگ آمیزی گراف با استفاده از آتوماتای یادگیر حبیب مطیع قادر دانشگاه آزاد اسلامی واحد تبریز باشگاه پژوهشگران جوان Habib_moti@yahoo.com عباس میرزایی ثمرین بورسیه هیات علمی دانشگاه آزاد اسلامی واحد اردبیل a.mirzaei@iaut.ac.ir علی اکبر دادجویان دانشگاه آزاد اسلامی واحد شبستر Aliakbar_z@yahoo.com چکیده- رنگ آمیزی گراف یکی از مساي ل Np-Complete به شمار میرود. یکی از کاربردهای این مسي له رنگ آمیزی نقشهها است. در این مقاله یک الگوریتم جدید برای رنگ آمیزی گراف با استفاده از آتوماتای یادگیر پیشنهاد میشود. فرآیند یادگیری با ی از آتوماتاهای تصادفی شروع میشود. هر آتوماتا به تنهایی نمایش دهنده یک رنگ آمیزی تصادفی میباشد. با تکرار فرآیند یادگیری رنگ آمیزی بهبود مییابد. در مقایسه با الگوریتمهای ژنتیک الگوریتم پیشنهادی سریعتر به جواب نزدیک به بهینه میرسد. دلیل آن این است که الگوریتمهای ژنتیک به دنبال کروموزوم بهینه از میان جمعیتها هستند و به جایگاه ژنها در کروموزومها اهمیت داده نمیشود ولی در الگوریتم پیشنهادی سعی میشود تا با استفاده از آتوماتای مهاجرت اشیاء جایگاه بهینه ژنها مشخص شود. الگوریتم پیشنهادی در مراحل تکرار یادگیری کمتری در مقابل نسل الگوریتم ژنتیک به جواب بهینه نزدیک میشود. نتایج شبیهسازی حاصل از الگوریتم پیشنهادی بر روی گرافهای مطرح با الگوریتم ژنتیک مورد مقایسه قرار گرفته است. واژههای کلیدی: آتوماتای یادگیر آتوماتای مهاجرت اشیا رنگ آمیزی گراف. - مقدمه گرافها یکی از مهمترین ابزارهایی هستند که کاربردهای فراوانی را دارند یکی از مهمترین کاربردهای گرافها مسي له رنگ آمیزی گرافها میباشد. در این مسي له برای گراف G به V گره و E یال وجود دارد. هدف از رنگ آمیزی گراف این است که به هر کدام از گرههای گراف یک رنگ اختصاص یابد بطوریکه هیچ دو گره مجاوری دارای رنگ یکسان نبوده و از حداقل رنگها برای رنگ آمیزی استفاده شود. در میان روشهای مکاشفهای غیرقطعی الگوریتم ژنتیک یکی از مهمترین الگوریتمهایی است که برای رنگ آمیزی گراف مورد استفاده قرار گرفته است. الگوریتم ژنتیک کار خود را با ی جمعیت تصادفی شروع کرده و با تکرار تولید نسل به دنبال کروموزوم شایستهتر میگردد. در الگوریتم ژنتیک هدف پیدا کردن شایستهترین کروموزوم از میان جمعیتها است و به جایگاه ژنها در کروموزومها هیچ اهمیتی داده نمیشود. اگر بتوان جایگاه مناسب ژنها در کروموزومها را مشخص کرد در این صورت میتوان در نسلهای بسیار کمتری به جواب نزدیک به بهینه رسید. برای پیدا کردن جایگاه مناسب ژنها در کروموزومها میتوان از آتوماتای یادگیر استفاده نمود. آتوماتای یادگیر با طی فرایند یادگیری و با اعمال عملگرهای جریمه و پاداش رفته رفته جایگاه مناسب ژنها در کروموزومها را پیدا میکند. هدف از الگوریتم پیشنهادی پیدا کردن جایگاه مناسب برای ژنها با استفاده از آتوماتای یادگیر است. در الگوریتم پیشنهادی هر کروموزوم معادل یک آتوماتا و هر ژن معادل یک اقدام از آتوماتا می باشد. هر آتوماتا نمایش دهنده یک رنگ آمیزی تصادفی میباشد. فرآیند یادگیری جایگاه مناسب ژنها را بهبود میبخشد. الگوریتم پیشنهادی با تکرار در ادامه در بخش مسي له رنگ آمیزی گراف توضیح داده میشود. سپس در بخش 3 آتوماتای یادگیر معرفی شده و در بخش الگوریتم جدید پیشنهاد میشود. در نهایت در بخش الگوریتم پیشنهادی مورد ارزیابی قرار میگیرد. - شرح مسي له نتایج حاصل از شبیه سازی یک گراف به صورت دوتایی E G=V, نشان داده می شود که در آن V مجموعه گرههاو E V V مجموعه یالها است. مسي له رنگ آمیزی گراف جزوء مساي ل NP-Complete به شمار میرود. در این گونه مساي ل با افزایش گرههای گراف زمان مورد نیاز برای پیدا کردن راه حل بهینه به صورت نمایی رشد پیدا میکند. به همین دلیل برای اینکه راه حل نزدیک به بهینه برای اینگونه مساي ل پیدا شود به ناچار از روشهای Action Heuristic
φ = { φ, φ,..., φ KN } جستجوی تصادفی که زمان اجرای آنها به صورت خطی است استفاده میشود. راه حلهای جستجوی تصادفی تضمینی در بهدست آوردن بهینه - ترین جواب ندارند ولی میتوانند جوابهای نزدیک به بهینه را به دست آورند. در این مساله هدف از بهترین جواب عبارت است از حداقل رنگهای مورد نیاز جهت رنگ آمیزی گراف بطوریکه هیچ دو گرهی هم- رنگ نباشند. 3- آتوماتای یادگیر یک آتوماتای یادگیر یک مدل انتزاعی است که به طور تصادفی یک عمل از مجموعه متناهی عملهای خود را انتخاب کرده و بر محیط اعمال میکند. محیط عمل انتخاب شده توسط آتوماتای یادگیر را ارزیابی کرده و نتیجه ارزیابی خود را توسط یک سیگنال تقویتی به اعلام یادگیر آتوماتای میکند. آتوماتای یادگیر با استفاده از عمل انتخاب شده سیگنال تقویتی وضعیت داخلی خود را بروز کرده و سپس عمل بعدی خود را انتخاب میکند []. محیط را میتوان توسط سهتایی {c E = { α, β, نشان داد که در آن β = { β مجموعه ورودیها, β,..., β r} α = { α, α,..., αr} c, c = { مجموعه احتمالهای c مجموعه خروجیها و cr},..., جریمه میباشد. هرگاه β مجموعه دو عضوی باشد محیط از نوع P میباشد. در چنین محیطی = β به عنوان جریمه و = β به عنوان پاداش در نظر گرفته میشود. در محیط از نوع Q متناهی عضو میباشد در و محیط از نوع S مجموعه β دارای مجموعه β دارای c i احتمال جریمه شدن عمل α i است. آتوماتاهای نامتناهی عضو میباشد. یادگیر به دو گروه با ساختار ثابت و با ساختار متغیر تقسیمبندی میگردند.[][3][][][6] - الگوریتم پیشنهادی برای رنگآمیزی یگ گراف با n گره با استفاده از m رنگ n m رنگ - k آمیزی مختلف وجود داردو در صورتیکه از آتوماتای یادگیر برای حل مسي له 3 n رنگآمیزی گراف استفاده شود آتوماتای یادگیر باید m اقدام داشته باشد که زیاد اقدامها باعث کاهش سرعت همگرایی میشود و به 6 همین منظور از آتوماتای مهاجرت اشیا توسط اومن و ما پیشنهاد شده 7 است که یکی از آنها آتوماتای مهاجرت اشیا مبتنی بر آتوماتای ت ستلین میباشد. الگوریتم ارایه شده از آتوماتای تستلین برای حل مسي له رنگ آمیزی گراف استفاده میکند. در این آتوماتا } α,..., α = α} مجموعه اقدامهای مجاز برای آتوماتای یادگیر است. این اتوماتا k اقدام دارد اقدام های این آتوماتا برابر است با گرههای گراف). حافظه برای آتوماتا می باشد. مجموعه وضعیتهای این مجموعه } φ, φ,..., و مجموعه وضعیت ها و N عمق آتوماتا به K زیر { φ N+, φn+,..., φn } { φ N ) K { φ افراز میشود و N +, φ K ) N +,..., φkn و... و هر کدام از گره- } ها بر اساس این که در کدام وضعیت قرار داشته باشند دسته بندی می- گردند. در مجموعه وضعیتهای اقدام k به وضعیت داخلی و به وضعیت وضعیت φ k ) N + φ k ) N + φ kn وضعیت φ kn وضعیت مرزی گفته میشود. گرهی که در قرار دارد گره با اهمیت بیشتر وگرهی در وضعیت گره با اهمیت کمتر نامیده میشود. در شکل شبه کد مربوط به الگوریتم پیشنهادی نمایش داده شده است. Algorithm GCLAGraph Coloring using Learning Automata) Input G : Graph Output S : A near optimal coloring for G Method. Generate an initial population, P, of randomly created coloring OMA for G. For Generation = to the Maximum no. generations, M, do 3. For each automaton, A, in P do. Select an action, α i, randomly. Apply relation described in section.. to reward or penalize α i 6. if rewarded and j < N,upgrade its state from φ ij to φ ij+ 7. else if penalized and j > downgrade its state from φ ij+ to φ ij 8. else if penalized and j = swap the action α i with α j such that satisfy color α i End شکل. شبه کد الگوریتم پیشنهادی.. در حالت کلی الگوریتم پیشنهادی از دو بخش زیر تشکیل شده است: تولید جمعیت اولیه عملگر جریمه و پاداش -- تولید جمعیت اولیه در ابتدا P آتوماتای تصادفی ایجاد شده و سپس در هر آتوماتا گرههای گراف به اقدامهای آتوماتاها تخصیص داده میشوند. پس از تخصیص گرهها به اقدامهای آتوماتا الگوریتم شکل به تمام آتوماتاها اجرا میشود. با اجرای الگوریتم شکل به هر کدام از اقداها یک عدد تصادفی اختصاص داده میشود. هر عدد نشان دهنده یک رنگ میباشد. Procedure ACAAssign Colors to Actions) Input N: Nodes Output A: Automata Method. For i= to N do. assign i to α i 3. For i= to N/. x=random number. x= random number 6. If x x) then 7. Swap α x value with α x End شکل. انتساب رنگها به اقدامها 3 Action Object Migrating AutomataOMA) Oommen 6 Ma 7 Tsetline
ب ب ب ج در شکل 3 یک آتوماتای تصادفی که نمایش دهنده یک رنگ آمیزی تصادفی میباشد نمایش داده شده است. همانطور که مشخص است رنگ آمیزی حاصل از این آتوماتا در شکل قابل مشاهده است. در صورتیکه اقدام مورد نظر در وضعیت غیر مرزی قرار داشته باشد با اعمال عمل جریمه وضعیت آن اقدام به سمت وضعیت مرزی تغییر داده میشود. شکل 6 روال کار را نمایش میدهد. شکل 3. یک آتوماتای تصادفی -- عملگر جریمه و پاداش شکل. رنگ آمیزی حاصل از آتوماتا در هر یک از آتوماتاها یک اقدام به صورت تصادفی انتخاب شده و آن اقدام پاداش یا جریمه میشود. در اثر پاداش دادن یا جریمه کردن یک اقدام وضعیت آن اقدام در مجموعه وضعیتهای اقدام مورد نظر تغییر میکند. اگر یک اقدام در وضعیت مرزی قرار داشته باشد جریمه شدن آن باعث تغییر اقدام آن و در نتیجه باعث ایجاد رنگ آمیزی جدیدی میشود. عملگر جریمه و پاداش با توجه به نوع آتوماتای یادگیر متفاوت خواهد بود. --- عملگر پاداش زمانی که به یک اقدام پاداش داده میشود ممکن است آن اقدام در وضعیت داخلی و یا در وضعیت غیرداخلی قرار داشته باشد. در صورتیکه اقدام مورد نظر در وضعیت غیرداخلی قرار داشته باشد در اینصورت با پاداش دهی به آن اقدام وضعیت آن به سمت وضعیت داخلی حرکت می - کند. شکل نحوه پاداش دهی به اقدامی که در وضعیت غیر داخلی قرار دارد را نمایش میدهد. فلا در صورتیکه اقدام مورد نظر در وضعیت داخلی خود قرار داشته باشد در این صورت با اعمال عمل پاداش هیچ تغییری در وضعیت آن اقدام صورت نمیگیرد و در وضعیت فعلی قرار میگیرد. فلا شکل. --- عملگر جریمه وضعیت گرهu قبل از پاداش و ب) وضعیت گرهu بعد از پاداش موقعی که یک اقدام مورد عمل جریمه قرار میگیرد دو حالت ممکن است رخ دهد:.. اقدام در وضعیت غیر مرزی قرار داشته باشد اقدام در وضعیت مرزی قرار داشته باشد. فلا فلا شکل 6. الف) وضعیت گرهu قبل از جریمه و ب) وضعیت گرهu بعد از جریمه در صورتیکه اقدام مورد نظر در وضعیت مرزی قرار داشته باشد در این- صورت مقدار تخصیص داده شده به اقدام مورد نظر رنگ تخصیص داده شده به اقدام) با عدد تخصیص داده شده به اقدامی جایگزین میشود که پس از جایگزینی آن عدد هیچ دو گره مجاوری همرنگ نباشد. در صورتی - که اقدام جایگزین شونده در وضعیت مرزی خود قرار داشته باشد در این صورت مقدار خود را به اقدام جریمه شونده جایگزین میکند ولی در صورتیکه اقدام جایگزین شونده در وضعیت مرزی خود قرار نداشته باشد در این صورت در ابتدا به وضعیت مرزی خود انتقال داده شده و پس از آن مقدار خود را به اقدام جریمه شونده جایگزین میکند. شکل 7 نحوه جریمه شدن اقدامی را که در وضعیت مرزی خود قرار دارد را نمایش میدهد. شکل 7. الف) وضعیت گرهu قبل از جریمه ب) مرزی و ج) جایگزینیU به جای u انتقال گره U به وضعیت در این بخش مشحص میشود که اعمال جریمه و پاداش بر چه اساسی صورت میگیرد. یکی از مهمترین کارهایی که در آتوماتاهای یادگیر مطرح است تعیین رابطهای مناسب برای عملگر جریمه و پاداش است. با در نظر n i گرفتن گره از گراف با استفاده از رابطه مشخص میشود که این گره مورد عمل جریمه قرار گیرد یا مورد عمل پاداش. با در نظر گرفتن مفروضات زیر داریم: : δ عبارت است از مجموع تمام رنگهای گرههایی که با گره n در ارتباط هستند. C: عبارت است از یالهای وابسته به گره.. n i : E عبارت است از کل یالهای گراف.
8 7 6 3 8 6 3 67 89 33 77 99 3 گراف 9 3 7 9 33 37 9 گراف 9 8 37 6 6 73 8 9 گراف 9 8 7 6 3 9 8 7 6 3 3 67 89 33 77 99 3 گراف 6 3 6 6 76 9 6 36 66 8 96 Learning Process گراف 3 Re ward if δ c ) c E Penalize if δ > c ) c E رابطه : شرط جریمه و پاداش شدن اقدام n i - نتایج شبیه سازی شده n i برای اجرا و آزمایش نتایج حاصل از الگوریتم پیشنهادی یک شبیهساز پیادهسازی شده است. این شبیهساز گراف را در قالب یک فایل متنی در یافت کرده و سپس پس از اجرای الگوریتم پیشنهادی حداقل رنگ - های مورد نیاز برای رنگ آمیزی گراف ورودی را برمیگرداند. در این بخش الگوریتم پیشنهادی با الگوریتم ژنتیک مورد بررسی و مقایسه قرار داده میشود. با در نظر گرفتن گرافهای شماره تا در جدول شکل 8 نتایج حاصل از الگوریتم ژنتیک و الگوریتم پیشنهادی قابل مشاهده است. همانطور که مشاهده میشود نتایجی را که الگوریتم پیشنهادی تولید می - کند نتایج تقریبا بهتری از نتایج الگوریتم ژنتیک هستند. شماره گراف گره یال الگوریتم ژنتیک الگوریتم پیشنهادی مرجع گراف [8] [9] [] [] [] 9 6 3 شکل 8. مقایسه الگوریتم ژنتیک و الگوریتم پیشنهادی برای گرافهای مطرح پارامترهای الگوریتم پیشنهادی که برای شبیه سازی گرافهای شکل 8 7 87 7 8 3 بکار رفته شده در جدول شکل 9 نمایش داده شدهاند. شماره گراف جمعیت اولیه تکرار عمق حافظه 3 3 شکل 9. پارامترهای لگوریتم پیشنهادی شکل سیر یادگیری الگوریتم پیشنهادی را برای گراف نمایش داده شده در شکل 8 را نمایش میدهند. همانطور که در این اشکال مشاهده میشود الگوریتم پیشنهادی در تکرارهای کمتری به جواب بهینه نزدیک میشود یا به عبارتی سرعت همگرایی بالایی 3 دارد. شکل. سیر یادگیری الگوریتم پیشنهادی برای گرافهای شکل 8 6- نتیجه گیری در این مقاله یک الگوریتم غیر قطعی مبتنی برآتوماتای یادگیر برای حل مسي له رنگ آمیزی گراف پیشنهاد گردید. این الگوریتم با استفاده از عملگرهای جریمه وپاداش سعی در به حداقل رساندن رنگهای مورد نیاز برای رنگ آمیزی گراف را دارد. در این مقاله از آتوماتای مهاجرت اشیا مبتنی بر آتوماتای تستلین برای یادگیری استفاده شده است. در نهایت الگوریتم پیشنهادی برای گرافهای مطرح با الگوریتم ژنتیک مورد بررسی و ارزیابی قرار گرفته است. نتایج آزمایشات به عمل آمده نحوه اجرای الگوریتم پیشنهادی را نمایش میدهد. همانطور که در نتایج شبیهسازیها قابل مشاهده است الگوریتم پیشنهادی خیلی سریعتر از الگوریتم ژنتیک به جواب بهینه نزدیک میشود. مراجع [] K. S. Narendra and M. A. L. Thathachar, "Learning Automata: An introduction", Prentice Hall, 989. [] Meybodi, M. R. and Beigy, H., New Class of Learning Automata Based Scheme for Adaptation of Backpropagation Algorithm Parameters, Proc. Of EUFIT-98, Sep. 7-, Achen, Germany, pp. 339-3, 998. [3] Oommen, B. J. and Ma, D. C. Y., Deterministic Learning Automata Solution to the Keyboard Optimization Problem, IEEE Trans. On Computers, Vol. 37, No., pp. -3, 988. [] Beigy, H. and Meybodi, M. R., Optimization of Topology of neural Networks Using Learning Automata, Proc. Of 3th Annual Int. Computer Society of Iran Computer Conf. CSICC-98, Tehran, Iran, pp. 7-8, 999. [] Beigy, H. and Meybodi, M. R. "Optimization of Topology of Neural Networks Using Learning Automata", Proc. Of 3th Annual Int.
Computer Society of Iran Computer Conf. CSICC-98, Tehran, Iran, pp. 7-8, 999. [6] Hashim, A.A., Amir, S.and Mars, p. Application of Learning Automata to Data Compression, In Adaptive and Learning Systems, K. S. Narendra Ed), New York: Plenum Press, pp. 9-3, 986. [7] D. E. Goldberg, "Genetic Algorithms in Search, Optimization and Machine Learning, Reading, MA: Addition-Wesley, 989. [8] http://mat.gsia.cmu.edu/color/instances/david.col [9] http://mat.gsia.cmu.edu/color/instances/huck.col [] http://mat.gsia.cmu.edu/color/instances/jean.col [] http://mat.gsia.cmu.edu/color/instances/mycie3.col [] http://mat.gsia.cmu.edu/color/instances/mycie.col