الگوريتم ماهی‌های مصنوعی

 

الگوريتم دسته ماهي هاي مصنوعي (AFSA) يك مدل محاسباتي تكاملي است كه مبتني بر الگوريتم هاي هوش جمعي و بر گرفته شده از طبيعت مي باشد.عملكرد اين الگوريتم بر اساس جستجوي تصادفي است

الگوریتم دسته‌ی ماهی‌هاي مصنوعی یکی از الگوریتم‌هاي هوش جمعی است که بر اساس جمعیت و جستجوي تصادفی کار می‌کند. این الگوریتم در سال 2002 توسط دکتر Li Xiao Lei ارائه گردید. اساس کار AFSA از روي رفتارهاي اجتماعی ماهی‌ها برگرفته شده و بر مبناي جستجوي تصادفی، جمعیت و رفتارگرایی کار می‌کند. این الگوریتم داراي خصوصیاتی از جمله سرعت همگرایی بالا، حساس نبودن به مقادیر اولیه‌ی ماهی‌هاي مصنوعی، انعطاف‌پذیري و تحمل‌پذیري خطا میباشد که آن را براي حل مسائل بهینه‌سازي قابل قبول می‌کند.

اساس کار AFSA   بر پایه‌ی توابعی است که از رفتارهاي اجتماعی دسته‌ی ماهی‌ها در طبیعت برگرفته شده‌اند. در دنیاي زیر آب، ماهی‌ها می‌توانند مناطقی را پیدا کنند که داراي غذاي بیشتري است، که این امر با جستجوي فردي یا گروهی ماهی‌ها محقق می‌شود. مطابق با این ویژگی، مدل ماهی مصنوعی با رفتارهاي حرکت آزادانه، جستجوي غذا، حرکت گروهی و دنباله‌روي ارائه شده است که به وسیله‌ی آنها فضاي مسئله جستجو می‌شود.

 

 

شرح الگوریتم

ﻣﻔﻬﻮم ﺑﻬﻴﻨﻪﺳﺎزی ﺑﺪﻳﻦ ﺻﻮرت اﺳﺖ ﻛﻪ در ﺑﻴﻦ ﭘﺎراﻣﺘﺮﻫﺎی ﻳﻚ ﺗﺎﺑﻊ ﺑﻪ دﻧﺒﺎل ﻣﻘﺎدﻳﺮی ﺑﺎﺷﻴﻢ ﻛﻪ ﺗﺎﺑﻊ را ﻛﻤﻴﻨﻪ ﻳﺎ ﺑﻴﺸﻴﻨﻪ ﻣﻲﻧﻤﺎﻳﻨﺪ. ﻛﻠﻴﻪ ﻣﻘﺎدﻳﺮ ﻣﻨﺎﺳﺐ ﺟﻬﺖ اﻳﻦ اﻣﺮ را، راه ﺣﻠﻬﺎی ﻣﻤﻜﻦ و ﺑﻬﺘﺮﻳﻦ ﻣﻘﺪار از اﻳﻦ ﻣﻘﺎدﻳﺮ را راه ﺣﻞ ﺑﻬﻴﻨﻪ ﻣﻲﻧﺎﻣﻨﺪ. اﻟﮕﻮرﻳﺘﻢﻫﺎی ﺑﻬﻴﻨﻪﺳﺎزی ﻫﺮ دو ﻧﻮع ﻣﺴﺎﺋﻞ ﺑﻴﺸﻴﻨﻪﺳﺎزی و ﻛﻤﻴﻨﻪﺳﺎزی را ﭘﻮﺷﺶ ﻣﻲدﻫﻨﺪ. ﺑﻬﻴﻨﻪﺳﺎزی ﻛﺎرﺑﺮدﻫﺎی زﻳﺎدی دارد از ﺟﻤﻠﻪ در ﺗﺨﺼﻴﺺ ﻣﻨﺎﺑﻊ، زﻣﺎنﺑﻨﺪیﻫﺎ، ﺗﺼﻤﻴﻢﮔﻴﺮیﻫﺎ و … . روﺷﻬﺎی ﻣﺨﺘﻠﻔﻲ ﺑﺮای ﺑﻬﻴﻨﻪﺳﺎزی وﺟﻮد دارد. ﻳﺎﻓﺘﻦ راه ﺣﻞ ﺑﺮای ﻣﺴﺎﺋﻠﻲ که از نوع NP می باشند ﺑﺴﻴﺎر ﻣﺸﻜﻞ اﺳﺖ. اﻟﮕﻮرﻳﺘﻢﻫﺎﻳﻲ از ﺟﻤﻠﻪ اﻟﮕﻮرﻳﺘﻢﻫﺎی ﻫﻮشﺟﻤﻌﻲ ﺗﺎ ﺣﺪی اﻳﻦ ﻣﺸﻜﻞ را ﺣﻞ ﻧﻤﻮده اﻧﺪ. ﺗﻮﺳﻂ اﻳﻦ ﻧﻮع اﻟﮕﻮرﻳﺘﻢﻫﺎ راهﺣﻞﻫﺎﻳﻲ ﭘﻴﺪا ﻣﻲﺷﻮﻧﺪ ﻛﻪ ﺗﻘﺮﻳﺒﺄ ﺑﻪ ﺟﻮاب ﻧﺰدﻳﻜﻨﺪ.

ﻫﻮش ﺟﻤﻌﻲ ﻧﻮﻋﻲ روش ﻫﻮش ﻣﺼﻨﻮﻋﻲ اﺳﺖ ﻛﻪ ﻣﺒﺘﻨﻲ ﺑﺮ رﻓﺘﺎرﻫﺎی ﺟﻤﻌﻲ در ﺳﺎﻣﺎﻧﻪﻫﺎی ﻧﺎﻣﺘﻤﺮﻛﺰ و ﺧﻮدﺳﺎﻣﺎﻧﺪه ﺑﻨﻴﺎن ﺷﺪه اﺳﺖ. اﻳﻦ ﺳﺎﻣﺎﻧﻪﻫﺎ ﻣﻌﻤﻮﻻً از ﺟﻤﻌﻴﺘﻲ از ﻋﺎﻣﻞﻫﺎی ﺳﺎده ﺗﺸﻜﻴﻞ ﺷﺪه اﻧﺪ ﻛﻪ ﺑﻄﻮر ﻣﺤﻠﻲ ﺑﺎ ﻳﻜﺪﻳﮕﺮ و ﺑﺎ ﻣﺤﻴﻂ ﺧﻮد در ﺗﻌﺎﻣﻞ ﻫﺴﺘﻨﺪ. ﺑﺎ وﺟﻮد اﻳﻨﻜﻪ ﻣﻌﻤﻮﻻً ﻫﻴﭻ ﻛﻨﺘﺮل ﺗﻤﺮﻛﺰﻳﺎﻓﺘﻪ ای، ﭼﮕﻮﻧﮕﻲ رﻓﺘﺎر ﻋﺎﻣﻞﻫﺎ را ﺑﻪ آﻧﻬﺎ ﺗﺤﻤﻴﻞ ﻧﻤﻲﻛﻨﺪ، ﺗﻌﺎﻣﻼت ﻣﺤﻠﻲ آﻧﻬﺎ ﺑﻪ ﭘﻴﺪاﻳﺶ رﻓﺘﺎری ﻋﻤﻮﻣﻲ ﻣﻲاﻧﺠﺎﻣﺪ. ﻣﻮﻓﻖ ﺗﺮﻳﻦ روشﻫﺎی ﻫﻮش ﻣﺼﻨﻮﻋﻲ ﺟﻤﻌﻲ ﻛﻪ ﺗﺎﻛﻨﻮن ﺑﻮﺟﻮد آﻣﺪه اﻧﺪ، روش ﺑﻬﻴﻨﻪﺳﺎزی ﮔﺮوه ﻣﻮرﭼﻪﻫﺎ، روش ﺑﻬﻴﻨﻪﺳﺎزی دﺳﺘﺔ ذرات و روش ﺑﻬﻴﻨﻪﺳﺎزی ﮔﺮوه ﻣﺎﻫﻲﻫﺎ ﻛﺎرﺑﺮد اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ در اﻧﻮاع زﻣﻴﻨﻪﻫﺎی ﺗﺤﻘﻴﻘﺎت ﻋﻠﻤﻲ ﻧﺸﺎن دﻫﻨﺪه ﻋﻤﻠﻲ ﺑﻮدن و وﻳﮋﮔﻲﻫﺎی ﻣﻄﻠﻮب آﻧﻬﺎ اﺳﺖ. از ﺟﻤﻠﻪ وﻳﮋﮔﻲﻫﺎی اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ ﻣﻲﺗﻮان ﺑﻪ ﻣﻘﻴﺎسﭘﺬﻳﺮی، ﺗﺤﻤﻞﭘﺬﻳﺮی ﺧﻄﺎ، ﺳﺎزﮔﺎری، ﺳﺮﻋﺖ، اﺳﺘﻘﻼل داﺧﻠﻲ، ﻣﻮازی ﺑﻮدن و … اﺷﺎره ﻛﺮد. ﻛﺎرﺑﺮد ﻋﻤﺪة اﻳﻦ اﻟﮕﻮرﻳﺘﻢﻫﺎ در ﺣﻞ ﻣﺴﺎﺋﻞ ﺑﻬﻴﻨﻪﺳﺎزی ﻣﻲﺑﺎﺷﺪ. الگوریتم دﺳﺘﺔ ﻣﺎﻫﻲﻫﺎی ﻣﺼﻨﻮﻋﻲ(AFSA (Artificial Fish Swarm Algorithm گونه ای از اﻟﮕﻮرﻳﺘﻢﻫﺎی برگرفته شده از طبیعت و اﻟﮕﻮرﻳﺘﻢﻫﺎی ﻫﻮش ﺟﻤﻌﻲ ﻣﻲﺑﺎﺷﺪ که توسط دکتر  Li Xiao Lei در سال ۲۰۰۲ ارائه شده است. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﻳﻚ ﺗﻜﻨﻴﻚ ﺟﺪﻳﺪ ﻣﺒﺘﻨﻲ ﺑﺮ رﻓﺘﺎرﻫﺎی ﺟﻤﻌﻲ اﺳﺖ ﻛﻪ از رﻓﺘﺎرﻫﺎی اﺟﺘﻤﺎﻋﻲ دﺳﺘﺔ ﻣﺎﻫﻲﻫﺎ در ﻃﺒﻴﻌﺖ اﻟﻬﺎم ﮔﺮﻓﺘﻪ ﺷﺪه اﺳﺖ. این اﻟﮕﻮرﻳﺘﻢ دارای ﺗﻮاﻧﺎﻳﻲ ﺑﺎﻻﻳﻲ در ﮔﺬﺷﺘﻦ از ﺑﻬﻴﻨﻪﻫﺎی ﻣﺤﻠﻲ و دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﺑﻬﻴﻨﺔ ﺳﺮاﺳﺮی ﻣﻲﺑﺎﺷﺪ. ﻫﻤﭽﻨﻴﻦ دارای وﻳﮋﮔﻲﻫﺎی ﺳﺮﻋﺖ ﻫﻤﮕﺮاﻳﻲ ﺑﺎﻻ، ﻏﻴﺮﺣﺴﺎس ﺑﻮدن ﺑﻪ ﻣﻘﺎدﻳﺮ اوﻟﻴﻪ، اﻧﻌﻄﺎفﭘﺬﻳﺮی و ﺗﺤﻤﻞﭘﺬﻳﺮی ﺧﻄﺎی ﺑﺎﻻﻳﻲ اﺳﺖ. اﻳﻦ اﻟﮕﻮرﻳﺘﻢ در ﻛﺎرﺑﺮدﻫﺎی ﺑﻬﻴﻨﻪﺳﺎزی از ﺟﻤﻠﻪ ﺗﺨﻤﻴﻦ ﭘﺎراﻣﺘﺮﻫﺎ، ﺑﻬﻴﻨﻪﺳﺎزی ﺗﺮﻛﻴﺒﻲ، ﻳﺎدﮔﻴﺮی ﺷﺒﻜﻪﻫﺎی ﻋﺼﺒﻲ ﭘﻴﺸﺮو و … ﺑﻪ ﻛﺎر رﻓﺘﻪ اﺳﺖ.

در دﻧﻴﺎی زﻳﺮ آب، ﻣﺎﻫﻲﻫﺎ ﻣﻲﺗﻮاﻧﻨﺪ ﻣﻨﺎﻃﻘﻲ را ﭘﻴﺪا ﻛﻨﻨﺪ ﻛﻪ دارای ﻏﺬای ﺑﻴﺸﺘﺮی اﺳﺖ، ﻛﻪ اﻳﻦ اﻣﺮ ﺑﺎ ﺟﺴﺘﺠﻮی ﻓﺮدی ﻳﺎ ﮔﺮوﻫﻲ ﻣﺎﻫﻲﻫﺎ ﻣﺤﻘﻖ ﻣﻲﺷﻮد. ﺑﻨﺎﺑﺮاﻳﻦ در دﻧﻴﺎی زﻳﺮ آب، ﻣﻌﻤﻮﻻً در ﺟﺎﻳﻲ ﺗﻌﺪاد ﻣﺎﻫﻲ ﺑﻴﺸﺘﺮی وﺟﻮد دارد ﻛﻪ دارای ﻏﺬای ﺑﻴﺸﺘﺮی اﺳﺖ. ﻣﻄﺎﺑﻖ ﺑﺎ اﻳﻦ وﻳﮋﮔﻲ، ﻣﺪل ماهی مصنوعی (AF) با چند رفتار از جمله رفتارهای حرکت آزادانه (AF Move)، جستجوی غذا (AF Prey)، حرکت گروهی (AF Swarm) و دﻧﺒﺎﻟﻪروی (AF Follow) ارائه شده است. AF یک ﻣﻮﺟﻮدﻳﺖ ﺳﺎﺧﺘﮕﻲ از ﻣﺎﻫﻲ واﻗﻌﻲ ﻣﻲﺑﺎﺷﺪ ﻛﻪ در ﺗﺤﻠﻴﻞ و ﺗﻔﺴﻴﺮ ﻣﺴﺎﺋﻞ از آن اﺳﺘﻔﺎده ﺷﺪه اﺳﺖ. محیطی که AF در آن زﻧﺪﮔﻲ ﻣﻲﻛﻨﺪ اﺳﺎﺳﺎً  فضای راه حل و حوزه های AF های دیگر است. درﺟﺔ ﺗﺮاﻛﻢ ﻏﺬا در ﻣﻨﻄﻘﺔ آﺑﻲ ﺗﺎﺑﻊ ﻫﺪف AFSA می باشد. و وضعیت AF ﻣﻨﻔﺮد ﻣﺘﻐﻴﺮ ﺑﻬﻴﻨﻪﺳﺎزی اﺳﺖ و ﺷﺎﻣﻞ رﻓﺘﺎرﻫﺎی ﺣﺮﻛﺖ آزاداﻧﻪ، ﺣﺮﻛﺖ ﺟﻤﻌﻲ، رﻓﺘﺎر ﺟﺴﺘﺠﻮی ﻏﺬا و رﻓﺘﺎر دﻧﺒﺎﻟﻪروی اﺳﺖ ﻛﻪ ﺑﺎ اﻳﻦ راهﻫﺎ ﻣﺎ ﻣﻲﺗﻮاﻧﻴﻢ راهﺣﻞ را ﻛﺎوش و ﺟﺴﺘﺠﻮ ﻛﻨﻴﻢ. در ﻃﻮل ﻓﺮآﻳﻨﺪ ﺑﻬﻴﻨﻪﺳﺎزی AFSA، اﻃﻼﻋﺎت ﻓﺮدی و ﻣﺤﻴﻄﻲ، ﻛﺎﻣﻼً ﺟﻬﺖ ﺟﺴﺘﺠﻮ ﺗﺎ رﺳﻴﺪن ﺑﻪ ﺗﻮازن اﺳﺘﻔﺎده ﻣﻲﺷﻮﻧﺪ. در ﻧﻬﺎﻳﺖ، AF ﺑﻪ ﻣﻜﺎﻧﻲ ﻣﻲرﺳﺪ ﻛﻪ درﺟﺔ ﺗﺮاﻛﻢ و ﻏﻠﻈﺖ ﻏﺬا در آﻧﺠﺎ ﺑﻴﺸﺘﺮﻳﻦ (ﺑﻬﻴﻨﺔ ﺳﺮاﺳﺮی) ﺑﺎﺷﺪ. AF ﻣﻔﺎﻫﻴﻢ ﺧﺎرﺟﻲ را از ﻃﺮﻳﻖ ﺑﻴﻨﺎﻳﻲ درک ﻣﻲﻛﻨﺪ ﻛﻪ در شکل زیر نشان داده شده است.

مطالب مشابه

ذخيره كردن و بازيابي داده ها

در صورتي كه بخواهيد كليه متغيرهاي موجود در محيط كا

عمليات ماتريسي روي آرايه ها

مي توان دو نوع عمليات روي آرايه ها انجام داد كه به

عمليات عضو به عضو روي آرايه ها

انجام عمليات جبري روي آرايه ها در MATLAB نيازمند د

الگوریتم کلونی مورچه ها Ant Co

انسان هميشه براي الهام گرفتن به جهان زنده پيرامون

پیدا کردن تعداد object ها در

پیدا کردن تعداد objects تصویر در نرم افزار MATLAB

استفاده از GPU ها در MATLAB

بررسی اجمالی در این پست، ما ابتدا اصول اولیه استف

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید