Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   الگوریتم رقابت استعماری (Imperialist Competitive Algorithm) (http://artificial.ir/intelligence/forum38.html)
-   -   نحوه مقدار دهی اولیه کشورها در الگوریتم رقابت استعماری (http://artificial.ir/intelligence/thread2596.html)

Astaraki ۰۴-۲۱-۱۳۸۹ ۱۰:۲۸ قبل از ظهر

نحوه مقدار دهی اولیه کشورها در الگوریتم رقابت استعماری
 
نحوه مقدار دهی اولیه کشورها در الگوریتم رقابت استعماری(پرسش و پاسخ مطرح شده)
:105:


۱- اول کار مقدار دهی اولیه (Intialization) کشور‌ها با چه مقداری انجام می‌شوند؟ تولید رندم در چه بازه ایی است؟

۲- زاویهٔ theta موقع محاسبهٔ x به چه صورتی تاثیر میگذارد؟

۳- آیا مقدار x که با توزیع یکنواخت (uniform) محاسبه می‌شود، به شکل زیر در متلب محاسبه می‌شود؟
(beta*d*rand)

۴- اگر قرار باشد به امپراتوری‌ای در اول کار مثلاً ۵ مستعمره تعلق بگیرد و ما مثلاً ۱۷ تا مستعمره داشته باشیم، کدام ۵ تا مستعمره به آن تعلق میگیرند؟
..........

پاسخ سوالات فوق:

1) همانگونه که در متن اموزشی بیان شده، تولید x با توزیع یکنواخت در بازه بین صفر و بتا ضربدر d انجام می گیرد. که در ان d فاصله میان مستعمره و امپریالیست است. بتا را نیز معمولاً حدود 2 در نظر می گیریم. وجود ضریب بتا بزرگتر از یک باعث مي‌شود تا کشور مستعمره در حين حرکت به سمت کشور استعمارگر، از جهت‌هاي مختلف به آن نزديک شود.

2) در الگوريتم معرفي شده، با افزودن يک زاويه تصادفي به مسير جذب مستعمرات، انحرافی در مسیر حرکت انجام مي‌گيرد. بدين منظور، در حرکت مستعمرات به سمت استعمارگر، کمي زاويه تصادفي نيز به جهت حرکت مستعمره، اضافه مي‌کنيم. بدين منظور اين‌بار به جاي حرکت به اندازه x، به سمت کشور استعمارگر و در جهت بردار واصل مستعمره به استعمارگر، به همان ميزان، ولي با انحراف theta در مسير، به حرکت خود ادامه مي‌دهيم. theta را به صورت تصادفي و با توزيع يکنواخت در نظر مي‌گيريم (اما هر توزيع دلخواه و مناسب ديگر نيز مي‌تواند استفاده شود). در حالت دو بعدی پیاده سازی این مورد بسیار ساده است. کافی است از ماتریس دوران دو بعدی استفاده کنیم. یعنی بردار کنونی را داریم. بردار موقعیت جدید از ضرب ماتریس دوران به ادهزه theta در ماتریس موقعیت قبلی ایجاد می گردد.

در حالتهای با بعد بزرگتر، این نوع نگاه ممکن است در پیاده سازی (کد نویسی برنامه) کمی پیچیدگی ایجاد کند. به همین منظور می توانیم مولفه های تک تک ابعاد را در اعداد تصادفی متفاوت ضرب کرده و بردار نهایی را نرمالیزه (هم اندازه با بردار اولیه) کنیم. اگر کدهای نوشته شده را ببینید، به همین صورت عمل شده است.

3) بله دقیقاً همین طور هست. باز هم توصیه می شود کد ها را ببینید.

4) این مستعمرات کاملاً تصادفی انتخاب می شوند و هیچ اولویتی بین آنها نیست. تابع randperm در متلب می تواند در انتخاب مستعمرات به ما کمک کند. این تابع جایگشت تصادفی n عدد را به ما می دهد. راهنمای متلب را برای همین موضوع ببینید.

:8:

منبع : نحوه مقدار دهی اولیه کشورها در الگوریتم رقابت استعماری

saeedrad ۱۲-۲۰-۱۳۹۰ ۰۱:۳۰ قبل از ظهر

سلام تول باکس الگوریتم رقابت استعماری را از کجا میشه بدست آورد
با تشکر

mansor50 ۱۲-۲۳-۱۳۹۰ ۱۲:۰۲ قبل از ظهر

سلام سعید آقای گل

saeedrad ۱۲-۲۳-۱۳۹۰ ۰۱:۱۸ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله mansor50 (پست 23508)
سلام سعید آقای گل

سلام استاد
مهربان باهوش وبا استعداد بی نظیر
استاد شما کلاس هوش پیشرفته دوباره برگزار میکنید؟

mansor50 ۱۲-۲۴-۱۳۹۰ ۰۱:۳۸ بعد از ظهر

:-) سلامت باشی

slicing ۰۶-۱۵-۱۳۹۱ ۰۵:۴۵ بعد از ظهر

با سلام
تولباكس ميتوني از لينك زير دانلود كنيد:
محاسبات تکاملی

کارشناس ارشد ۰۱-۱۶-۱۳۹۲ ۱۲:۱۰ بعد از ظهر

با سلام و خسته نباشید
1 سوال راجع به این الگوریتم داشتم : حرکت مستعمره به سمت امپریالیست یعنی چه ! من نمی فهمم نقطه داده ها که حرکت نمی کنند ،ما میایم یه سری نقطه داده ها رو امپریالیست معرفی می کنیم و با یه معیاری یک سری نقطه داده ها میشن مستعمره این امپریالیست ها. حالا حرکت یعنی چی ؟ یعنی ما زاویه رو عوض کنیم تا بتوانیم مستعمره بهتری پیدا کنیم ؟ لطفا کمی راهنمایی بفرمائید.
با تشکر


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۵:۱۱ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.