شکل ۵-۵: ساختار کشورها در الگوریتم NLICA مقدار ویژگی میانگین غیرمحلی
همانطور که اشاره شد، مقادیر هر کدام از خانههای کشور عددی در بازه ۰ و ۱ بوده و اگر در زمان اجرای الگوریتم مقدار ویژگی غیرمحلی خانهای از یک کشور، کمتر از صفر گردد، مقدار خانه متناظر را صفر و اگر مقدار ویژگی مربوط به خانهای بیشتر از یک شود، مقدارش را برابر یک قرار میدهیم.
۵-۳-۲ عملگر جذب
در طی اجرای الگوریتم رقابت استعماری، مستعمرات به سمت استعمارگرهای خود، با اندازه و زاویه تصادفی حرکت می کنند و راه حل کاندید جدید (موقعیت جدید مستعمره)، با حرکت راه حل قدیمی (موقعیت قبلی مستعمره) به سمت یکی از استعمارگرهای انتخاب شده با یک شعاع یکنواخت، تولید می شود. عملگر جذب در الگوریتم NLICA مشابه الگوریتم رقابت استعماری استاندارد بوده و بدین شرح پیادهسازی میگردد؛ اختلاف تمامی خانههای مستعمره از خانههای متناظرشان در کشور استعمارگر محاسبه شده و هر کدام از این اختلافات به دست آمده، در اعداد تصادفی جداگانه ای که دارای توزیع یکنواخت[۳۹] و مقادیر در بازه ۰ و ۱ هستند، ضرب شده و سپس هر کدام از خانههای بردار نتیجه در عدد β که معمولاً عددی بزرگتر از یک است و در این پژوهش مقدار آن ۲ در نظرگرفته شده، ضرب و بردار حاصل به بردار کشور مستعمره مورد نظر اضافه میگردد (مقادیر خانههای متناظر با هم جمع میشوند) و در آخر مقادیر هر یک از خانههای مستعمره بررسی و در صورت کمتر از صفر بودن، مقدار آن صفر و در حالتی که بیشتر از یک باشد، برابر یک قرار
میگیرد و به این ترتیب مکان جدید مستعمره به دست می آید. در شکل ۵-۶ نمونه ای از حرکت مستعمره به سمت استعمارگر در الگوریتم NLICA به نمایش درآمده است.
۰٫۸۷ ۱ ۰٫۴۳ ۰٫۳ ۰٫۲
۰٫۸ ۰٫۹۵ ۰٫۷ ۰٫۸ ۱
محاسبه اختلاف بین کشور مستعمره و استعمارگر
کشور استعمارگر کشور مستعمره
۰٫۱۴ ۰٫۸۳ ۰٫۳۴ ۰٫۰۵ ۰٫۱
۰٫۰۷- ۰٫۰۵- ۰٫۲۷ ۰٫۵ ۰٫۸
برداری از اعداد تصادفی به طول تعداد خوشه ها بردار اختلاف مستعمره و استعمارگر
ضرب اعضای بردار قبلی در عدد۲
حاصلضرب نظیربهنظیر خانههای بردار اعداد تصادفی و بردار اختلاف مستعمره و استعمارگر
اضافهکردن بردار تولیدشده به مستعمره
۰٫۰۲- ۰٫۰۸۳- ۰٫۱۸۴ ۰٫۰۵ ۰٫۱۶
۰٫۰۱- ۰٫۰۴۱۵- ۰٫۰۹۲ ۰٫۰۲۵ ۰٫۰۸
۰٫۸۵ ۰٫۹۱۷ ۰٫۶۱۴ ۰٫۳۵ ۰٫۳۶
اصلاح بردار مکان جدید مستعمره
۰٫۸۵ ۰٫۹۱۷ ۰٫۶۱۴ ۰٫۳۵ ۰٫۳۶
شکل ۵-۶: نمونه ای از حرکت مستعمره به سمت استعمارگر در الگوریتم NLICA
۵-۳-۳ عملگر انقلاب[۴۰]
عملگر انقلاب به مفهوم تغییر ناگهانی در موقعیت یک مستعمره بوده و انقلاب از دیدگاه الگوریتمی باعث
می شود کلیت حرکت تکاملی از گیرکردن در درههای محلی بهینگی نجات یابد که در بعضی موارد باعث بهبود موقعیت یک کشور شده و آن را به یک محدوده بهینگی بهتری میبرد. در الگوریتم NLICA عملگر انقلاب به این صورت اجرا می شود که یکی از خانههای مستعمره به تصادف انتخاب و عددی تصادفی با توزیع یکنواخت، در بازه ۰ و ۱ تولید شده و به جای محتوای قبلی، در آن خانه قرار میگیرد. این عملگر برای همه مستعمرهها با احتمال یکسانی اجرا می شود؛ یعنی برای هر مستعمره عددی تصادفی تولید شده و اگر این عدد کمتر مساوی یک حدآستانه[۴۱] مشخصی باشد، آن مستعمره دچار انقلاب می شود. مقدار حدآستانه در الگوریتم پیشنهادی ۰٫۰۱ گرفته شده است. شکل زیر مثالی از عملگر انقلاب در الگوریتم NLICA را نشان میدهد.
۰٫۳ ۰٫۵ ۰٫۶۲ ۰٫۲۱ ۰٫۹
۰٫۳ ۰٫۷۴ ۰٫۶۲ ۰٫۲۱ ۰٫۹
شکل ۵-۷: مثالی از عملگر انقلاب
۵-۳-۴ عملگر جدید حرکت استعمارگرها
در الگوریتم رقابت استعماری، کشورهای استعمارگر هیچ حرکتی انجام نداده و فقط مستعمراتشان به سمت آنها در حال حرکت هستند. به همین دلیل ممکن است الگوریتم در بهینههای محلی تابع هدف قرار گیرد. برای افزایش قدرت الگوریتم، در الگوریتم NLICA، عملگر حرکت استعمارگرها به سمت قویترین استعمارگر پیشنهاد شده است تا از طریق ایجاد پویایی در بین استعمارگرها، فضای اطراف آنها به خوبی مورد کاوش و بررسی قرار گیرد. استعمارگری که دارای کمترین هزینه باشد (در مسائل کمینهسازی[۴۲])، به عنوان قویترین استعمارگر انتخاب شده و سایر استعمارگرها به سمت آن حرکت می کنند. حرکت استعمارگرها به سمت قویترین استعمارگر، مشابه حرکت مستعمرهها به سمت استعمارگر بوده و به این صورت است که اختلاف دو کشور استعمارگر محاسبه و هر یک از خانههای بردار حاصل در برداری از اعداد تصادفی یکنواخت در بازه ۰ و ۱ ضرب عنصر به عنصر شده و بردار حاصل پس از ضرب همه اعضایش در یک عدد (مانند ۰٫۹۵)، به بردار کشور استعمارگر در حال حرکت افزوده میگردد و به این ترتیب مکان جدید استعمارگر مشخص می شود. در شکل ۵-۸ نمونه ای از حرکت استعمارگر به سمت قویترین استعمارگر نشان داده شده است.
شکل ۵-۸: حرکت استعمارگر به سمت قویترین استعمارگر
۵-۳-۵ عملگر جدید جستجوی فضای اطراف قویترین استعمارگر
به منظور کاوش محیط پیرامون قویترین استعمارگر، جوابهای کاندیدی[۴۳] در داخل شعاع معینی اطراف این استعمارگر تولید می شود و سپس اگر یکی از این جوابها دارای هزینه کمتری نسبت به هزینه قویترین استعمارگر بود، مکان قویترین استعمارگر به مکان بهترین جواب پیدا شده پیرامون قویترین استعمارگر، در فضای متغیرهای مسئله انتقال مییابد. اگر r شعاع تولید جواب باشد، برای تولید جوابهای کاندید برداری از اعداد تصادفی یکنواخت در بازه [-r,r]، به طول کشورها (تعداد خوشه ها) تولید و به کشور قویترین استعمارگر اضافه میگردد. سپس تابع هزینه کشور تولید شده جدید برای مقایسه با هزینه قویترین استعمارگر مقایسه می شود. در این پژوهش به تعداد پنج جواب کاندید تولید و یکی از آنها در صورت بهتر بودن از قویترین استعمارگر، جایگزین آن میگردد. ضمناً شعاع تولید جواب، متغیر بوده و در ابتدای اجرای الگوریتم مقدار نسبتاً بزرگی (۰٫۵) داشته و تدریجاٌ در تکرارهای بعدی الگوریتم از مقدار آن کاسته
می شود. شکل ۵-۹ نمونه ای از عملکرد عملگر تولید جوابهای کاندید، پیرامون بهترین استعمارگر را نمایش میدهد.
شکل ۵-۹: تولید جوابهای کاندید در اطراف بهترین استعمارگر
۵-۳-۶ تابع هزینه[۴۴] الگوریتم NLICA
در الگوریتمهای تکاملی میزان مناسب بودن یک جواب با محاسبه تابع هزینه آن مشخص میگردد. در انتخاب تابع هزینه الگوریتم NLICA از تابع هدف الگوریتم K-means الهام گرفته شده است. تابع هدف الگوریتم K-means برابر با مجموع فواصل داده ها از مراکز خوشه مربوطهشان بوده و این الگوریتم در جهت
کمینهسازی تابع هدف، مراکز خوشه ها را به صورت تکراری به روزرسانی می کند.
یکی از ویژگیهای خوشهبندی مطلوب این است که خوشه ها و در نتیجه مراکزشان تا حد امکان از هم دور بوده و اصطلاحاً فاصله بین کلاسی بیشترین مقدار را داشته باشد. بنابراین به منظور افزایش کیفیت
خوشهبندی، فاصله بین خوشه ها نیز به تابع هدف الگوریتم NLICA افزوده شده و این الگوریتم سعی در بیشینهسازی فاصله بین مراکز خوشه ها دارد. اگر فاصله بین نزدیکترین دو خوشه بیشینه شود، فاصله سایر خوشه ها نیز از هم بیشترین مقدار را خواهد داشت و بنابراین در تابع هدف پیشنهادی، فاصله بین دو نزدیکترین مرکز خوشه گنجانده شده است. تابع هزینه الگوریتم NLICA به صورت زیر انتخاب شده که این الگوریتم با جستجوی مراکز بهینه خوشه ها در فضای ویژگی میانگین وزندار غیرمحلی پیکسلها، تابع هزینه را کمینه می کند.
(۵-۸) |
در رابطه فوق K تعداد کل خوشه ها (در اینجا تعداد ناحیههای تصویر)، N تعداد کل داده ها (تعداد
فرم در حال بارگذاری ...