به گزارش پایگاه تحلیلی خبری بانک و صنعت، این کارگاه از جمله برنامههای دومین روز از چهارمین نمایشگاه تراکنش ایران بود.
ITE 2018، به همت مرکز فابا، 22 تا 24 آبان سال جاری در محل دائمی نمایشگاههای شهرداری تهران، واقع در بوستان گفتوگو برگزار شد.
در ادامه، متن سخنرانی رضوی را در کارگاه رایانش تکاملی میخوانید.
چرخهای برای تکامل نسلها
شناخت الگوریتمهای ژنتیک و استفاده از پارادایم آن میتواند برای حل مشکلات صنعت بانکداری و پرداخت مفید باشد. برای یافتن راهحل بهینه یک مساله، الگوریتمهای مختلفی وجود دارد. اگر اندازه مساله کوچک باشد و بتوان آن را با جستجوی کامل حل کرد، روشهای تحلیلی قابل استفاده هستند. اما در مورد مسائلی که حل کامل آنها، زمانبر و با روشهای عادی، یافتن پاسخ آنها مشکل است، دو گروه الگروتیم فرامکاشفهای را میتوان دستهبندی کرد که عبارتند از:
1- الگوریتمهای مبتنی بر جمعیت: که از انواع کلونیها در طبیعت الهام گرفته شدهاند؛ از جمله مورچهها یا زنبورها. این جمعیتها بدون اینکه تک تک اعضای جامعه هوش زیادی داشته باشند، رفتار هوشمندی از خود نشان میدهند. برای مثال مورچهها با دنبال کردن بویی که از هورمون دیگر اعضای کلونی به جا مانده است، مسیر خود را پیدا میکنند. از سوی دیگر، این نوع الگوریتمها نوعی عدالت اجتماعی را نیز در پی دارد؛ چرا که همه اعضا به یک گونه رفتار میکنند.
2- الگوریتمهای مبتنی بر ژنتیک: که از الگوی تکامل نسلها در طبیعت الهام گرفته شدهاند. این الگوریتمها در دهه 50 برای نخستین بار پیشنهاد شدند و در دهه 80 به گونهای که امروز شناخته میشوند، سازمان یافتند. این روشها، در واقع از تئوریهای تکامل که داروین به آنها معتقد بود سرچشمه گرفتهاند. به این معنا که از میان جمعیت یک گونه، آنها که با محیط طبیعی سازگاری بیشتری دارند، برگزیده میشوند. برگزیده شدگان عمل ترکیب را انجام میدهند و نسل بعد را به وجود میآورند. در این میان، بحث جهش نیز در طبیعت دیده میشود. برای معادلسازی این بحث با آنچه که مورد نظر ماست میتوانیم یک رشته بیت را کروموزوم و هر صفر تا یک را یک ژن فرض کنیم. البته موضوع در طبیعت و در بدن انسان بسیار پیچیدهتر است و اینجا سادهسازی میشود. همان مساله جهش در این مورد نیز ممکن است رخ دهد و صفر و یکها گاه تغییر کنند. با استفاده از این انتخابها و جهشها میتوان نسلهای بهتری را ارائه کرد؛ به گونهای که هر نسل نسبت به همتایان پیش از خود، تناسب بیشتری با محیط داشته باشد. به این ترتیب تکامل ادامه پیدا میکند. همین الگو در جامعه بشری و جمعیت حیوانات نیز دیده میشود.
استفاده از این روش محاسباتی برای مسائل کوچک معنادار نیست. موضوع باید پیچیده و حل آن مشکل باشد. در این موارد، زمانی که متخصصان میخواهند به یک نقطه ایدهآل در حوزهای برسند، تلاش میکنند به صورت رندوم، نقاط مناسب را پیدا کنند. در ادامه، میزان تناسب آنها را با محیط اندازه میگیرند تا به تدریج به نقطه مورد نظر خود دست یابند. متخصصان همچنان تلاش میکنند با ویژگیهای مثبت نسل قبل، به گونههای متناسبتری دست پیدا کند.
به صورت خلاصه، سه عملیات اصلی در این الگوریتم انجام میشود که چرخه تکامل را کامل میکند. این موارد عبارتند از: انتخاب مبتنی بر نخبهگرایی، ترکیب و جهش.
با استفاده از این سه مورد، نسل بعد ساخته میشود. در نتیجه این چرخه، نسلها به سمت تناسب بیشتر حرکت میکنند. ممکن است این فرایند به نقطهای برسد که از نسلی به بعد بهبودی دیدی نشود و نوعی همگرایی در الگوریتم شکل بگیرد. البته راهی برای اثبات این موضوع وجود ندارد که آیا این همگرایی همان نقطه نهایی است یا خیر؛ اما با احتمال بالا میتوان گفت الگوریتم، به نتیجه مطلوب منتهی شده است.
مزایای رایانش تکاملی؛ از سادگی تا انطباقپذیری
محاسبات ژنتیکی نسبت به برخی دیگر از روشهای محاسباتی، مزیتهایی دارند که در ادامه به بعضی موارد آن اشاره میشود:
1- امکان جستجوی آسان در فضاهای بزرگ، غیرخطی و ناپیوسته: روشهای مبتنی بر ریاضیات، از این نظر محدودیت دارند اما روشهای ژنتیکی در هر فضایی، حتی اگر محدب باشد، میتوانند جستجو را انجام دهند.
2- برقراری توازن میان اکتشاف و استخراج: طراح الگوریتم میتواند برای اکتشاف بیشتر، نرخ جهش را افزایش دهد تا بتواند فضاهای جدیدتری را جستجو کند. البته با این اقدام، ممکن است شانس رسیدن به نقطه همگرایی را کاهش دهد. به هر حال طراح میتواند انتخاب کند که الگوریتم بیشتر به سمت اکتشاف تمایل داشته باشد، یا استخراج.
3- تطبیقپذیری زیاد و امکان ادغام با سایر روشهای مختلف محاسبات: این روش میتواند برای حل انواع مسائل به کار رود. حتی با دیگر الگوریتمهای هوشمند و روشهای محاسباتی نیز ترکیب میشود.
4- سادگی در بهکارگیری
5- یافتن پاسخهای نزدیک به بهینه در زمان کوتاه: زمان پاسخگویی، به نسبت روشهای مبتنی بر ریاضی، کوتاهتر است. بنابراین در محیطهای واقعی مانند مسائل مربوط به بانکداری، استفاده از این الگوریتمها مفید خواهد بود.
معایب رایانش تکاملی؛ از کاربرد آفلاین تا تنظیم پارامترها
این الگوریتمها در کنار مزیتهای خود، از محدودیتها و معایبی نیز برخوردارند که بعضی از این موارد عبارتند از:
1- مناسب برای کاربردهای آفلاین به دلیل زمانبر بودن در همگرایی: گونههای دیگری از روشهای محاسباتی ارائه شدهاند که ویژه کاربردهای آنلاین و بسیار سریع هستند. البته در این موارد میتوان از میکروژنتیکها نیز استفاده کرد.
2- سختی در تنظیم پارامترها و اپراتورهای جهش و پرش: تعیین شاخصهای مختلف از جمله نرخهای مربوط به جهش و ترکیب و اندازه کروموزومها، در این الگوریتمها مشکل است. یک فرد متخصص میتواند این موارد را انجام دهد.
3- نبود تضمین برای رسیدن به پاسخ بهنیه در زمان محدود: البته اگر پاسخها در چند مرحله پشت هم مشابه بود میتوان فرض کرد که الگوریتم به نقطه بهینه رسیده است.