نوشته‌ها

عامل‌ های هوشمند

عامل هوشمند یا کارگزار هوشمند (به انگلیسی: Intelligent agent)، در مبحث هوش مصنوعی به موجودی گفته می‌شود که در یک محیط، اطراف خود را شناخته و اعمالی را روی محیط انجام می‌دهد و کلیه اعمالی که انجام می‌دهد در جهت نیل به اهدافش می‌باشد. این سیستم‌ها امکان یادگیری دارند و سپس از دانش اکتسابی خود برای انجام اهداف خود استفاده می‌کنند. این عامل ها ممکن است بسیار ساده یا پیچیده باشند. بطور مثال ماشین‌های کوکی که با برخورد به دیوار، راه خود را عوض می‌کنند نمونه‌ای از عامل های هوشمند هستند.

تعریف عامل:

عامل هر چیزی است که می‌تواند محیطش را از طریق حسگرها درک کند و بر روی محیطش از طریق عمل‌کننده‌ها تأثیر گذارد. یک عامل انسانی دارای حس‌کننده‌هایی از قبیل چشم، گوش، لامسه و امثال آن می‌باشد. و میتوان از دست، پا، صحبت کردن و اعمال ارادی به عنوان عمل‌کننده‌ها نام برد. ورودی یک عامل نرم‌افزاری میتوانند چندین متغیر باشد که مقدار آن‌ها را عامل میخواند سپس بر اساس مکانیزم تصمیم‌گیری یک تصمیم اخذ می‌کند و عملگرهای آن میتوانند دستورهای مقداردهی چند متغیر دیگر باشد. به عنوان مثال فرض کنید یک عامل قرار است متغیر x را بخواند و توان دوم آن را حساب کند و در y قرار دهد. این عامل x را میخوانند و سپس توان دوم آن را حساب می‌کند و در y قرار می‌دهد.

نحوه کار عامل:

یک عامل چگونه باید بفهمد که بهترین عمل ممکن چیست؟ عمل درست عملی است که باعث شود عامل موفق‌ترین باشد. این امر ما را با مسئله تصمیم‌گیری در مورد چگونگی و زمان ارزیابی کردن موفقیت عامل روبرو میکند. اصطلاح میزان کارایی برای موفقیت عامل تعریف می‌کنیم. گفتنی است که میزان کارایی برای عاملهای مختلف متفاوت می‌باشد. نکته خیلی مهم این است که میزان کارایی یک عامل باید بر اساس محیط تعریف شود. به عنوان مثال فرض کنیم که یک عامل کارش جمع‌آوری آشغال‌ها از یک اتاق و دفع آن‌ها باشد، اگر عامل میزان کارایی اش بر حسب اشغال جمع شده تعریف شود آنگاه عامل می‌تواند آشغال‌ها را جمع کند و سپس دوباره در اباق بریزد تا بهترین کارایی را کسب کند. اما اگر میزان کارایی بر اساس محیط تعریف شود آنگاه عامل یک بار کار تمیز کردن را انجام می‌دهد. پس یک عامل محیطش را حس می‌کند و سپس بر اساس آن تصمیم میگیرد. این مستلزم آن است که با عامل خود مختار و انواع محیط‌ها آشنا شویم.

عامل خود مختار

به عاملی خود مختار میگوییم که تصمیم‌گیری اش بر اساس ادراکاتش باشد نه بر اساس دانش تزریق شده به آن. در واقع هر چه دانش قبلی یک عامل بیشتر باشد از خودمختاری آن کاهش مییابد و هر چه دانش قبلی کمتر باشد و مکانیزم یادگیری عامل قوی تر باشد، آن عامل خود مختار تر است.

انواع محیط ها

قابل مشاهده و غیر قابل مشاهده: اگر عامل به کل محیط دسترسی داشته باشد و بتواند آن را حس کند می‌گوییم محیط قابل مشاهده است، در غیر این صورت آن را غیر قابل مشاهده یا تا حدودی قابل مشاهده می نامیم. مثلاً در محیط عامل شطرنج باز کل محیط قابل مشاهده است. طبیعی است که یک مسئله با محیط قابل مشاهده برای طراحان عاملها مطلوب تر می‌باشد.

قطعی و غیر قطعی: اگر بتوان حالت بعدی را از حالت فعلی، عمل فعلی و کنشهایی که تاکنون انجام شده به دست بیاوریم، میگوییم که محیط قطعی است. بازهم میتوان از بازی شطرنج برای محیط قطعی مثال زد، چون با محیط فعلی و حرکت فعلی می‌شود حالت بعدی را به صورت دقیق یافت. قابل توجه است که بدانیم اگر محیط کاملاً قابل مشاهده نباشد آنگاه قطعی نخواهد بود. اما اگر با یک حرکت ممکن باشد به چندین حالت برویم محیط غیر قطعی است.

دوره‌ای یا غیر دوره ای: اگر هر دوره از دوره‌های دیگر مستقل باشد میگوییم محیط دوره‌ای است. مانند دوره‌های مختلف در مذاکرات چند عامله. محیط‌های غیر دوره‌ای به عنوان محیط‌های ترتیبی نیز یاد می‌شوند.

ایستا و پویا: اگر محیط در زمان تصمیم‌گیری عامل تغییر کند آنگاه محیط پویا است. و در غیر آن صورت محیط ایستا است. اما اگر محیط در زمان تصمیم‌گیری ثابت بماند اما زمان، کارایی عامل را کاهش دهد، محیط را نیمه پویا مینامیم.

گسسته و پیوسته: اگر مشاهدات و کنش‌های مختلف مجزا و تعریف شده باشند، محیط پیوسته است. مانند شطرنج. اما یک عامل بهینه ساز معادلات در محیط پیوسته کار میکند.

ساختار عامل های هوشمند

تا کنون در مورد محیط‌ها و کلیات مربوط به عاملها صحبت کردیم. حال نوبت بررسی ساختارهای مختلف عاملها است. مهم‌ترین وظیفه ما طراحی برنامه عامل است. برنامه عامل تابعی است که ادراکات را به یک عمل‌ها نگاشت میکند. معماری عامل ساختاری است که برنامه محاسباتی عامل تر روی آن پیاده‌سازی می‌شود. پس در کل معماری از طریق حسگرها ورودی را میگیرد، توسط برنامه تصمیم می‌گیرد و در نهایت با عملگرها عمل می‌کند و روی محیط تأثیر میگذارد.

عامل های واکنشی ساده

در این گونه عاملها سعی بر این است که به ازای هر حالت ممکن در دنیا یک عمل مناسب انجام دهیم. برای این کار می‌توانیم حالت محیط را در ستون اول یک جدول قرار دهیم و عمل مربوط به آن را در ستون دوم نکه داری کنیم. به چنین عاملی وابسته به جدول نیز می‌گویند. و به این جدول، جدول حالت-قانون نیز میگویند. در همان ابتدا مشخص می‌شود که برای طراحی چنین عاملی محیط باید کاملاً قابل مشاهده باشد. مهمترین مشکلی که در راه طراحی این عامل به وجود می‌آید این است در مسائل دنیای واقعی پر کردن چنین جدولی غیرممکن است. مثلاً برای شطرنج ۳۵۱۰۰ حالت مختلف برای محیط وجود دارد. حال اگر فرض کنیم توانایی پر کردن جدول را داشته باشیم، آنگاه اولا حافظه لازم را نخواهیم داشت و ثانیا جستجو جهت یافتن جواب زمان زیادی خواهد گرفت. ساختار این عامل در شکل زیر دیده می‌شود.

منبع


 به هر موجودیت که از طریق گیرنده ها و سنسورهایش محیط اطراف خود را مشاهده نموده و از طریق اندام های خود در آن محیط عمل مینماید (بر روی آن محیط تاثیر میگذارد) عامل (Agent) میگویند. برای مثال انسان به عنوان یک عامل از گوش ها، چشم ها و دیگر اندام های خود جهت دریافت اطلاعات از محیط استفاده کرده و از طریق دست و پا و زبان  برای عمل نمودن در همان محیط استفاده مینماید. به همین ترتیب یک عامل رباتیک نیز از سنسورهای خود به عنوان دریافت کننده و از بازو های خود به عنوان عمل کننده، در محیط اطراف استفاده مینماید.

ساختار یک عامل

هر موجودیت که نسبت به مشاهدات خود از محیط اطراف واکنش نشان میدهد را عامل مینامند.

عامل هوشمند (Rational Agent)

 عاملی است که در محیط خود کار صحیح را انجام میدهد. قطعا انجام کار صحیح بهتر از انجام کار اشتباه است! اما سوالی که پیش می آید این است که براستی تعریف کار صحیح چیست؟

در حال حاضر میتوان بطور تقریبی اینگونه به این سوال پاسخ داد که کار صحیح کاریست که باعث کسب موفقیت توسط عامل هوشمند میشود. با این حال توجه داشته باشید که همین تعریف تقریبی هم ما را با دو سوال چگونه و چه زمان در ابهام باقی میگذار. اگر اینگونه تفسیر نمایید که چگونه به موفقیت برسیم؟ و چه زمان به موفقیت رسیده ایم؟ این ابهام برای شما ملموس تر خواهد شد.

برای رفع ابهام در مورد موفقیت عامل هوشمند، مفهومی با عنوان اندازه گیری عملکرد یا performance measure تعریف میشود. اندازه گیری عملکرد در واقع مجموعه ای از قوانین هستند که ما به عنوان طراحان یا شاهدان عملکرد عامل هشومند، وضع مینماییم تا بتوانیم عامل هوشمند خود را مورد سنجش قرار دهیم.

فرض کنید که ما بعنوان سازنده، عامل هوشمندی ساخته ایم که در واقع یک ربات نظافت گر خودکار میباشد. برای مثال یک معیار اندازه گیری عملکرد برای این ربات میتواند میزان جمع آوری گرد غبار در طول مدت یک شیفت کاری باشد. یا مثلا برای توانمند تر ساختن ربات میتوان مقدار انرژی الکتریکی مصرف شده و سر و صدای تولید شده توسط آن را به مجموعه معیار های اندازه گیری اضافه نمود. برای مثال میتوانیم بگوئیم اگر ربات ما در طول یک ساعت حداقل  x لیتر غبار جمع آوری و کمتر از y  انرژی مصرف نمود، کار خود به درستی انجام داده است.

تفاوت ِعقلانیت و علم لایتناهی

نکته ای که از اهمیت بسیاری برخوردا است، تمیز دادن بین دو مفهوم عقلانیت و علم لایتناهی میباشد. یک عامل با علم لایتناهی نتیجه خروجی تمامی اعمال خود را میداند که بسیار هم عالی و خوب است! اما در دنیای واقعی عملا همچین عاملی وجود نخواهد داشت! به مثالی که در ادامه آماده توجه فرمایید.

شما در یک منطقه دورافتاده و بی آب و علف هستید که ناگهان یک دختر بسیار زیبا را در طرف دیگر خیابان مشاهده مینمایید. هیچ ماشینی در حال تردد در خیابان نیست و شما نیز مجرد و تنها هستید! بنظر میرسد که با توجه به شرایط اطراف عاقلانه ترین کار این است که از عرض خیابان رد شده، به سراغ دختر زیبا بروید و او را به صرف یک نوشیدنی دعوت نمایید. در همین لحظه در ارتفاع ۳۳۰۰۰ پایی یک هواپیمای بار بری در حال عبور از منطقه شماست که ناگهان درب هواپیما کنده شده و به سمت زمین پرتاب میشود و با شما برخورد میکند. نتیجتا قبل از اینکه شما  به طرف دیگر برسید مانند گوجه فرنگی در کف خیابان له خواهید شد!

سوالی که پیش می آید این است که تصمیم شما برای عبور از خیابان یک تصمیم اشتباه و غیر هوشمندانه بوده است؟ آیا از عمل شما به عنوان یک عمل غیر عقلانی یاد خواهد شد؟

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

بطور خلاصه میتوان گفت که هوشمند بودن یک موجودیت به چهار عامل بستگی دارد.

اندازه گیری عملکرد که درجات موفقیت را مشخص مینماید.
هر آن چیز که عامل  اخیرا مشاهده و یا در یافت نموده است.توالی مشاهدات.
هر آنچه که عامل از مورد محیط خود میداند.
مجموعه عمل هایی که عامل میتواند در محیط انجام دهد.

عامل هوشمند ایده آل

مجموعه تعاریف و مطالب فوق، ما را به سمت تعرف مفوهم عامل هوشمند ایده آل هدایت مینماید. عامل هوشمند ایده آل، عاملی است که برای هر مجموعه از توالی مشاهدات، با توجه به شواهد موجود در محیط و دانش پیش ساخته خود، آن عملِ مورد انتظاری را انجام دهد که باعث افزایش اندازه عملکرد و یا همان performance measure بشود.

توجه داشته باشید در نگاه اول ممکن است بنظر برسد که این تعریف باعث ساخت عامل های هوشمندانه ای خواهد شد که خود را در شرایطی که به انجام عمل غیر عقلانی ختم میشود قرار خواهد داد. در واقع ممکن است عامل هوشمند به خیال خود در حال افزایش اندازه عملکرد باشد در حالی که برای این افزایش آن از بسیاری از مسائل چشم پوشی نماید.

برای مثال اگر عامل برای عبور از خیابان به طرفین نگاه نکند (در حالی که هدفش عبور از خیابان است) توالی مشاهداتش او را از خطر تصادف با یک کامیون که با سرعت به طرف او می آید آگاه نخواهد کرد. در نتیجه طبق تعریف، عبور از خیابان برای عامل، عملی هوشمندانه به حساب آمده و او به راه خود ادامه خواهد. در صورتی که چنین تفسیری به دو دلیل اشتباه میباشد. اول آنکه بطور کلی ریسک عبور از خیابان بدون نگاه بطرفین بسیار بالا میباشد. دوم آنکه در صورت نتیجه گیری صحیح از تعریف عامل هوشمند ایده آل، چنین عاملی برای افزایش اندازه عملکرد خود باید به طرفین نگاه کند.

نگاشت ایده آل، از توالی مشاهدات به عمل

با توجه به مطالب فوق میتوان نتیجه گیری کرد از آنجا که رفتار عامل ما بر اساس توالی مشاهداتش میباشد، میتوان برای عامل ها با رسم جدول، مشاهده و عمل را به یکدیگر نگاشت نمود. با این حال باید توجه داشت  که برای تمامی عامل ها چنین جدولی بسیار طولانی و یا دارای بی نهایت سطر میباشد مگر آنکه محدودیتی در طول مشاهدات، از طرف طراح برای آن جدول تعیین شده باشد.

به چنین جدولی، جدول “نگاشت مشاهدات به عمل” میگویند. در اصول میتوان با تست اینکه چه عملی برای مشاهدات مناسب است این جدول را تکمیل نمود. باید توجه نمود که اگر میتوانیم از روی نگاشت، عامل هوشمند داشته باشیم از روی نگاشت ایده آل نیز میتوان به عامل هوشمند ایده آل رسید.

البته معنی توضیحات بالا این نیست که ما باید همیشه و بطور ضمنی و دقیق جدولی تهیه نماییم. در واقع در بسیاری از موارد به جای یک جدول ضمنی میتوان از یک تعریف مشخص که خود تولید کننده سطرهای جدول میباشد استفاده نماییم. برای مثال فرض کنید که ما یک عامل هوشمند بسیار ساده داریم که قرار است توان اعداد را محاسبه نمایید. برای طراحی چنین عاملی احتیاجی به ایجاد یک جدول واقعی نخواهیم داشت و عملا میتوان سطرهای این جدول را با فرمول توان یک عدد به عدد دیگر محاسبه نمود.

 

استفاده از الگوریتم کندوی زنبور عسل در مسیر یابی بر اساس خوشه در شبکه های حسگر بیسیم

چکیده : با توجه به پیشرفت های اخیر فناوری ارتباطات بی سیم در چند دهه اخیر ، مطالعات کارشناسان در زمینه شبکه های گیرنده بی سیم هم سیر صعودی را طی کرده است.بسیاری از این بررسی ها در قالب کتب علمی ، الحاقیه ، الگوریتم و موارد کاربردی اجرا و اعمال شده اند. کارایی این شبکه ها به طور مستقیم به پروتکل های مسیریابی که روی زمان زندگی شبکه تآثیر می گذارند بستگی خواهد داشت. خوشه بندی یکی از رایج ترین روش های اجرایی در این مبحث تلقی می شود. ما در این مقاله به بررسی کارایی انرژی در پروتکل های بر پایه الگوریتم های کندوی زنبور عسل می پردازیم که نشان دهنده امتداد طول عمر شبکه می باشد. الگوریتم های کندوی زنبور عسل طوری طراحی شده اند که رفتارهای جستجوگرانه زنبورهای عسل را شبیه سازی کرد و به طور موفقیت آمیزی در تکنیک های خوشه بندی مورد استفاده قرار می گیرند. عملکرد این روش پیشنهادی با پروتکل های متکی بر LEACH و بهینه سازی گروهی اجزا که پیش از این مورد بررسی قرار گرفته اند ،مقایسه می شود. نتایج این بررسی ها نشان می دهد که الگوریتم های کندوی زنبور عسل میتواند در پروتکل های مسیریابی WSN روند موفقیت آمیزی داشته باشد.
کلمات کلیدی : شبکه های گیرنده بی سیم ، برپایه خوشه بندی ( خوشه ای ) ، الگوریتم زنبور عسل فایل PDF – در ۲۲ صفحه
– نویسنده : ناشناس
دانلود
پسورد فایل : behsanandish.com


الگوریتم کلونی زنبور عسل مصنوعی

 

شامل سرفصل های :

۱- الگوریتم کلونی زنبورعسل مصنوعی

۲- معرفی چند الگوریتم بهینه شده کلونی زنبورعسل در محیط پیوسته

۳- الگوریتم کلونی زنبورعسل مصنوعی موازی

۴- الگوریتم کلونی زنبورعسل مصنوعی برای مسائل بهینه سازی دودویی

فایل Power Point – در ۴۰ اسلاید – نویسنده : ناشناس

الگوریتم کلونی زنبور عسل مصنوعی

پسورد فایل : behsanandish.com


رویکرد الگوریتم فرا ابتکاری کلونی زنبور عسل مصنوعی برای تعیین مکان بهینه سوئیچها در شبکه ارتباطی تلفن همراه

چكيده : در این تحقیق برای حل مسئله ی تخصیص سلول به سوئیچ (CTSAP) ، از الگوریتم فراابتکاری کلونی زنبور عسل مصنوعی (ABC) استفاده شده است. هدف مسئله، تخصیص بهینه سلولها به سوئیچها با حداقل هزینه است. در این تحقیق هزینه از دو جزء تشکیل یافته است. یکی هزینه ی تعویضها که مربوط به دو سوئیچ است و دیگری هزینه ی اتصال میباشد. ظرفیت پاسخگویی تماس هر سوئیچ نیز محدود است و فرض میشود همه ی سوئیچها ظرفیت برابری داشته باشند. در مدل این پژوهش هر سلول باید فقط و فقط تنها به یک سوئیچ متصل گردد(single homed).مدل ریاضی این تحقیق، غیرخطی صفر و یک است.  کد رایانه ای الگوریتم با نرم افزار MATLAB 7.8.0 نوشته شده است. پس از تعیین مقادیر پارامترهای مدل و تأیید صحت عملکرد کد و تنظیم پارامترهای کنترل، کارایی الگوریتم با ایجاد مسائل آزمایشی، با یکی از بهترین الگوریتمهای CTSAP یعنی الگوریتم بهینه سازی کلونی مورچگان (ACO) مقایسه شده است و نتایج نشان می دهد که الگوریتم ABC در قیاس با ACO عملکرد رضایت بخشی دارد.
واژگان کليدی: مسئله تخصیص سلول به سوئیچ، الگوریتم فراابتکاری، شبکههای تلفن همراه، الگوریتم کلونی زنبور عسل مصنوعی
فایل PDF – در ۲۴ صفحه- نویسندگان : سيد محمد علی خاتمی فيروزآبادی , امين وفادار نيكجو
دانلود
پسورد فایل : behsanandish.com


ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫﺎي ﻣﺼﻨﻮﻋﯽ ﺳﻠﻮﻟﯽ

ﭼﮑﯿﺪه: در اﯾﻦ ﻣﻘﺎﻟﻪ دو ﻣﺪل ﺗﺮﮐﯿﺒﯽ ﮐﻪ از ﺗﺮﮐﯿﺐ ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫـﺎ و اﺗﻮﻣﺎﺗﺎي ﺳﻠﻮﻟﯽ ﺣﺎﺻﻞ ﺷﺪه اﺳﺖ ﺑﻪ ﻣﻨﻈﻮر ﺑﻬﯿﻨﻪ ﺳﺎزي ﭘﯿﺸﻨﻬﺎد ﻣﯽﮔﺮدد . اﺗﻮﻣﺎﺗـﺎي ﺳـﻠﻮﻟﯽ وﻇﯿﻔـﻪ ﮐـﺎﻫﺶ آﻧﺘﺮوﭘـﯽ و اﻓـﺰاﯾﺶ ﺳـﺮﻋﺖ ﻫﻤﮕﺮاﯾﯽ را ﺑﻪ ﻋﻬﺪه دارد . در ﻣـﺪل ﭘﯿﺸـﻨﻬﺎدي در اول ﻫـﺮ ﺳـﻠﻮل از اﺗﻮﻣﺎﺗﺎي ﯾﺎدﮔﯿﺮ ﺳﻠﻮﻟﯽ ﯾﮏ ﮐﻠﻮﻧﯽ از زﻧﺒﻮرﻫـﺎ ﻗـﺮار داده ﻣـﯽ ﺷـﻮد . ﺑـﻪ ﺑﺪﺗﺮﯾﻦ ﻫﺮﺳﻠﻮل ، ﻣﻨﻈﻮر ﺑﻬﺒﻮد ﺟﺴﺘﺠﻮي ﺳﺮاﺳﺮي و ﻫﻤﮕﺮاﯾﯽ ﺳﺮﯾﻌﺘﺮ ﺑﺎ ﺑﻬﺘﺮﯾﻦ ﻫﻤﺴﺎﯾﮕﺎن ﺑﻪ روش ﺣﺮﯾﺼﺎﻧﻪ ﺟﺎﯾﮕﺰﯾﻦ ﻣﯽ گردد. در ﻣﺮﺣﻠـﻪ دوم در ﻫﺮ ﺳﻠﻮل ﯾﮏ زﻧﺒﻮر ﻗﺮار ﻣـﯽ ﮔﯿـﺮد .ﻧﺘـﺎﯾﺞ آزﻣﺎﯾﺸـﻬﺎ ﺑـﺮ روي ﻣﺴﺎیل ﻧﻤﻮنه ﻧﺸﺎن ﻣﯿﺪﻫﺪ ﮐﻪ روش ﻫﺎی اراﺋﻪ ﺷﺪه از ﻋﻤﻠﮑﺮد ﺑﻬﺘـﺮي در ﻣﻘﺎﯾﺴﻪ ﺑﺎ ﻣﺪل ﮐﻠﻮﻧﯽ زﻧﺒﻮرﻫﺎي ﻣﺼﻨﻮعی اﺳﺘﺎﻧﺪارد ﺑﺮﺧﻮردار می باشد.
واژه ﻫﺎي ﮐﻠﯿﺪی : کلونی زنبور، اﺗﻮﻣﺎﺗﺎي ﺳﻠﻮﻟﯽ، بهینه سازی
فایل PDF – در ۴ صفحه- نویسندگان : زهرا گل میرزایی ، محمدرضا میبدی
دانلود
پسورد فایل : behsanandish.com


یک بررسی جامع: الگوریتم و برنامه های کاربردی کلونی زنبور عسل (ABC)

A comprehensive survey: artificial bee colony (ABC) algorithm and applications

Abstract : Swarm intelligence (SI) is briefly defined as the collective behaviour of decentralized
and self-organized swarms. The well known examples for these swarms are bird
flocks, fish schools and the colony of social insects such as termites, ants and bees. In 1990s,
especially two approaches based on ant colony and on fish schooling/bird flocking introduced
have highly attracted the interest of researchers. Although the self-organization features are
required by SI are strongly and clearly seen in honey bee colonies, unfortunately the researchers
have recently started to be interested in the behaviour of these swarm systems to describe
new intelligent approaches, especially from the beginning of 2000s. During a decade, several
algorithms have been developed depending on different intelligent behaviours of honey bee
swarms. Among those, artificial bee colony (ABC) is the one which has been most widely
studied on and applied to solve the real world problems, so far. Day by day the number of
researchers being interested in ABC algorithm increases rapidly. This work presents a comprehensive
survey of the advances with ABC and its applications. It is hoped that this survey
would be very beneficial for the researchers studying on SI, particularly ABC algorithm.
,Keywords : Swarm intelligence
,Bee swarm intelligence
Artificial bee colony algorithm

فایل Power Point - در ۳۷ صفحه - نویسندگان: Dervis Karaboga , Beyza Gorkemli , Celal Ozturk , Nurhan Karaboga
A comprehensive survey- artificial bee colony (ABC)
پسورد فایل : behsanandish.com


الگوریتم جستجوی کلونی زنبور عسل مصنوعی جهانی برای بهینه سازی تابع عددی

Global Artificial Bee Colony Search Algorithm for Numerical Function Optimization

Abstract—The standard artificial bee colony (ABC) algorithm as a relatively new swarm optimization method is often trapped in local optima in global optimization. In this paper, a novel search strategy of main three procedures of the ABC algorithm is presented. The solutions of the whole swarm are exploited based on the neighbor information by employed bees and onlookers in the ABC algorithm. According to incorporating all employed bees’ historical best position information of food source into the solution search equation, the improved algorithm that is called global artificial bee colony search algorithm has great advantages of convergence property and solution quality. Some experiments are made on a set of benchmark problems, and the results demonstrate that the proposed algorithm is more effective than other population based optimization algorithms. Keywords—Artificial bee colony, Search strategy, Particle swarm optimization, Function optimization فایل PDF – در ۴ صفحه – نویسندگان : Guo Peng, Cheng Wenming, Liang Jian Global Artificial Bee Colony Search Algorithm for Numerical Function Optimization پسورد فایل : behsanandish.com


یک الگوریتم کلونی زنبور عسل مصنوعی اصلاح شده برای بهینه سازی مسائل محدود شده

A modified Artificial Bee Colony (ABC) algorithm for constrained optimization problems

Abstract : Artificial Bee Colony (ABC) algorithm was firstly proposed for unconstrained optimization problems on where that ABC algorithm showed superior performance. This paper describes a modified ABC algorithm for constrained optimization problems and compares the performance of the modified ABC algorithm against those of state-of-the-art algorithms for a set of constrained test problems. For constraint handling, ABC algorithm uses Deb’s rules consisting of three simple heuristic rules and a probabilistic selection scheme for feasible solutions based on their fitness values and infeasible solutions based on their viola- tion values. ABC algorithm is tested on thirteen well-known test problems and the results obtained are compared to those of the state-of-the-art algorithms and discussed. Moreover, a statistical parameter analysis of the modified ABC algorithm is conducted and appropriate values for each control parameter are obtained using analysis of the variance (ANOVA) and analysis of mean (ANOM) statistics. Keywords: Swarm intelligence Modified Artificial Bee Colony algorithm Constrained optimization فایل PDF – در ۳۷ صفحه – نویسندگان : Dervis Karaboga , Bahriye Akay A modified Artificial Bee Colony (ABC) algorithm for constrained optimization1 پسورد فایل : behsanandish.com


 یک الگوریتم کلونی زنبور عسل مصنوعی جدید-بر اساس فاصله داده های سریال با استفاده گرام های سیگما
ABC-SG: A New Artificial Bee Colony Algorithm-Based Distance of Sequential Data Using Sigma Grams

Abstract 
The problem of similarity search is one of the main
problems in computer science. This problem has many
applications in text-retrieval, web search, computational
biology, bioinformatics and others. Similarity between
two data objects can be depicted using a similarity
measure or a distance metric. There are numerous
distance metrics in the literature, some are used for a
particular data type, and others are more general. In this
paper we present a new distance metric for sequential data
which is based on the sum of n-grams. The novelty of our
distance is that these n-grams are weighted using artificial
bee colony; a recent optimization algorithm based on the
collective intelligence of a swarm of bees on their search
for nectar. This algorithm has been used in optimizing a
large number of numerical problems. We validate the new
distance experimentally.
Keywords:  Artificial Bee Colony, Extended Edit
Distance, Sequential Data, Distance Metric, n-grams. 
فایل PDF – در ۷ صفحه – نویسنده :Muhammad Marwan Muhammad Fuad
پسورد فایل : behsanandish.com

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

Application of artificial bee colony (ABC) algorithm in search of optimal release of Aswan High Dam

Abstract. The paper presents a study on developing an optimum reservoir release policy by using ABC algorithm. The decision maker of a reservoir system always needs a guideline to operate the reservoir in an optimal way. Release curves have developed for high, medium and low inflow category that can answer how much water need to be release for a month by observing the reservoir level (storage condition). The Aswan high dam of Egypt has considered as the case study. 18 years of historical inflow data has used for simulation purpose and the general system performance measuring indices has measured. The application procedure and problem formulation of ABC is very simple and can be used in optimizing reservoir system. After using the actual historical inflow, the release policy succeeded in meeting demand for about 98% of total time period. فایل PDF – در ۸ صفحه – نویسندگان : Md S Hossain and A El-shafie  Application of artificial bee colony (ABC) algorithm پسورد فایل : behsanandish.com


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

Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems

Abstract. This paper presents the comparison results on the performance of the Artificial Bee Colony (ABC) algorithm for constrained optimization problems. The ABC algorithm has been firstly proposed for unconstrained optimization problems and showed that it has superior performance on these kind of problems. In this paper, the ABC algorithm has been extended for solving constrained optimization problems and applied to a set of constrained problems . فایل PDF – در ۱۰ صفحه – نویسندگان : Dervis Karaboga and Bahriye Basturk Artificial Bee Colony (ABC) Optimization پسورد فایل : behsanandish.com


الگوریتم کلونی زنبور عسل مصنوعی و کاربردش در مشکل تخصیص انتزاعی

Artificial Bee Colony Algorithm and Its Application to Generalized Assignment Problem

فایل PDF – در ۳۲ صفحه – نویسندگان : Adil Baykasoùlu, Lale Özbakır and Pınar Tapkan Artificial Bee Colony Algorithm and Its پسورد فایل : behsanandish.com


  الگوریتم کلونی زنبور عسل مصنوعی
Artificial Bee Colony Algorithm

Contents 
• Swarm Intelligence – an Introduction 
• Behavior of Honey Bee Swarm 
 • ABC algorithm
 • Simulation Results 
• Conclusion 
فایل PDF از یک فایل Power Point – در ۲۲ اسلاید- نویسنده : ناشناس
پسورد فایل : behsanandish.com

بهینه سازی کلونی زنبور عسل پارت ۱: مرور الگوریتم

BEE COLONY OPTIMIZATION PART I: THE ALGORITHM OVERVIEW

,Abstract: This paper is an extensive survey of the Bee Colony Optimization (BCO) algorithm proposed for the first time in 2001. BCO and its numerous variants belong to a class of nature-inspired meta–heuristic methods, based on the foraging habits of honeybees. Our main goal is to promote it among the wide operations research community. BCO is a simple, but ecient meta–heuristic technique that has been successfully applied to many optimization problems, mostly in transport, location and scheduling fields. Firstly, we shall give a brief overview of the meta–heuristics inspired by bees’ foraging principles, pointing out the dierences between them. Then, we shall provide the detailed description of the BCO algorithm and its modifications, including the strategies for BCO parallelization, and give the preliminary results regarding its convergence. The application survey is elaborated in Part II of our paper. Keywords: Meta–heuristics, Swarm Intelligence, Foraging of Honey Bees فایل PDF- در۲۴ صفحه – نویسندگان : Tatjana DAVIDOVI´ C , Duˇsan TEODOROVI´ C , Milica ˇSELMI´ C BEE COLONY OPTIMIZATION PART I پسورد فایل : behsanandish.com


یادگیری ماشین(Machine learning) موضوع داغی است که اخیرا با نام های بزرگی چون گوگل و فیس بوک ساخته شده و با الگوریتم های بسیار پیچیده ای که بعضی اوقات مانند داستان های علمی تخیلی به نظر می رسند پیوند خورده است. حقیقت این است که یادگیری ماشین یک مجموعه بسیار کاربردی و کاربردی از تکنیکهایی است که قطعا کاربرد خاصی در کسب و کار شما نیز دارد.یکی از آخزین دستاوردهای یادگیزی ماشین را در این خبر علمی بخوانید.

یادگیری ماشین چیست؟

تعریف عمومی از یادگیری ماشین  آن است که توسط دانشمند کامپیوتر آرتور ساموئل در سال ۱۹۵۹ داده شده است:

یک رشته علمی است که به کامپیوترها قابلیت یادگیری می دهد بدون آنکه مشخصا برای آن کار برنامه ریزی شده باشند.

این یک پاسخ مفهومی ساده است، اما بطور مشخص، فرآیند “یادگیری ماشین” چیست؟ خروجی آن چیست؟ و چگونه می توان آن را به داده های شما اعمال کرد؟ در این مقاله  تلاش خواهیم کرد تا به تمام این سوالات به طور ساده پاسخ دهیم، اما اولا، تعریف دقیق تر زیر را ارائه خواهیم کرد:

یادگیری ماشین فرآیند استفاده از داده ها  است  که به طور خودکار یک مدل می سازد ، که به عنوان ورودی از مجموعه ای از ویژگی های شناخته شده استفاده می کند  و به عنوان خروجی چیزی به عنوان  پیش بینی ارائه می دهد.

برخی اصطلاحات

مدل

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

یک معادله که به عنوان ورودی ویژگی های مختلف یک متقاضی وام (مثلا درآمد، بدهی های برجسته، مبلغ درخواست شده و غیره) را در نظر می گیرد و به عنوان یک خروجی اطمینان می دهد که وام دهنده به صورت پیش فرض وام را خواهد داد.

معادله ای که به عنوان ورودی مقدار رنگ پیکسل های یک عکس را می گیرد و به عنوان خروجی شناسایی شیء موجود در عکس را می دهد.

معادله ای که به عنوان ورودی وضعیت کنونی هیئت مدیره Go را می دهد و به عنوان خروجی نشانگر حرکتی است که بهترین شانس برنده شدن در بازی را به ارمغان می آورد.

بدیهی است که این معادلات به نظر بسیار متفاوت هستند و  در مقالات بعدی در  مورد برخی از انواع مختلف مدل های یادگیری ماشین صحبت خواهیم کرد. یادگیری ماشین فرآیند استفاده از داده ها برای ساختن مدل به طور خودکار است.

ویژگی ها

ویژگی های ورودی  مدل ماشین آموخته شده :

آنها هر قطعه ای از اطلاعات هستند که ممکن است برای پیش بینی مفید باشند. در مثال بالا، پیش بینی پیش فرض وام، درآمد، بدهی های بزرگ، مبلغ درخواست شده، همه ویژگی ها هستند. ممکن است بسیاری از ویژگی های دیگر وجود داشته باشد که می تواند مفید باشد و بعضی از آنها ممکن است ترکیبی از ویژگی های دیگر باشد؛ برای مثال، نسبت درآمد به بدهی، یا امتیاز اعتباری (که البته خروجی یک مدل متفاوت از جمله بسیاری از این ویژگی های مشابه است)

بیش برازش overfitting

برازش مدل شما به نوفه های تصادفی در  مجموعه داده های شماست. معمولا نتیجه یک مدل پیچیده؛ پیچیده خواهد شد؛ برای مثال، داشتن پارامترهای ورودی بیش از حد نسبت به تعداد مشاهدات نسبتا کم. چندین تکنیک برای جلوگیری از بیش برازش overfitting وجود دارد؛ یکی از روش های معمول برای این کار cross validation اعتبار سنجی متقابل است که در آن یک دوره جریمه های اضافی برای دادن اولویت به مدل هایی که از پارامترهای کمتری استفاده می کنند، گنجانده شده است.

طبقه بندی مشکلات یادگیری ماشین

سه طبقه بندی اصلی از وظایف یادگیری ماشین وجود دارد:

  • یادگیری تحت نظارت: مدل با استفاده از یک مجموعه شناخته شده “داده های آموزشی” ساخته شده است که شامل تمام ویژگی ها و همچنین مقادیر شناخته شده (“برچسب ها”) خروجی است که ما در حال تلاش برای مدل سازی آن هستیم. هدف از تکنیک های یادگیری تحت نظارت، رسیدن به یک مدل است که ویژگی های ورودی را برحسب برچسب ها نشان می دهد.
  • یادگیری بدون نظارت: خروجی این الگوریتم یادگیری،  برچسب ها  نیستند؛ هدف این روش کشف ساختار ناشناخته مانند خوشه ها clutsters و یا الگوهای دیگر است.
  • یادگیری تقویتی: الگوریتم پاداش و مجازات را بر اساس موفقیت آن در دستیابی به یک هدف خاص به ارمغان می آورد – به عنوان مثال، یک الگوریتم Go برای تغییرات در یک مدل که باعث افزایش نسبت زمان برنده شدن مدل و مجازات برای تغییراتی که قصد کاهش آن را دارد.این  الگوریتم قصد دارد پاداش را به حداکثر و مجازات را به حداقل برساند.

وظایف همچنین می تواند بر اساس خروجی مورد نظر از مدل یادگیری طبقه بندی شود. سه تا از رایج ترین ها عبارتند از:

طبقه بندی: داده ها به دو یا چند کلاس یا “برچسب ها” تقسیم می شوند (مثلا “hotdog” در مقابل “not hotdog “) و هدف عمل یادگیری این است که یک مدل تولید کند که ورودی ها را به یکی یا بیشتر از این برچسبها اختصاص دهد.

رگرسیون: خروجی یک  عدد پیوسته (به عنوان مثال قیمت کالای خاص، تولید یک چاه نفت ثابت شده) به جای طبقه بندی گسسته است، و  همچنین فراهم سازی مدل و برآورد خروجی هدف.

خوشه بندي: آنالوگ بدون نظارت برای طبقه بندي؛ ورودی ها باید به گروه ها تقسیم شوند، اما قبل از ساخت مدل، گروه ها شناخته نمی شوند.مثال کاربرد: پیش بینی قیمت خانه

منبع


آشنایی با الگوریتم های ضروری یادگیری ماشین

داده ها در اعماق زندگی روزانه ما ریشه دوانده اند، از خرید روزانه تا انتخاب مدرسه و پزشک و مسافرت های ما امروزه داده محور شده اند. این امر نیاز به الگوریتم ها و روشهای هوشمند پردازش داده و یادگیری ماشین را صد چندان کرده است .

انواع الگوریتم های یادگیری ماشین

سه نوع اصلی الگوریتم های یادگیری ماشین از قرار زیرند :

  • یادگیری نظارت شده (هدایت شده – Supervised Learning) : در این نوع از الگوریتم ها که بار اصلی یادگیری ماشین را بر دوش می کشند (از لحاظ تعداد الگوریتم های این نوع)، با دو نوع از متغیرها سروکار داریم . نوع اول که متغیرهای مستقل نامیده میشوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آنها، یک متغیر دیگر را پیش بینی کنیم. مثلا سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش بینی خرید یک کالا توسط یک مشتری ، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آنها را به کمک این الگوریتم ها پیش بینی کنیم . برای این منظور باید تابعی ایجاد کنیم که ورودیها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند.
  • فرآیند یافتن این تابع که در حقیقت کشف رابطه ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش (Training Process) می گوئیم که روی داده های موجود (داده هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آنها معلوم هستند مثلا خریدهای گذشته مشتریان یک فروشگاه) اعمال میشود و تا رسیدن به دقت لازم ادامه می یابد.  نمونه هایی از این الگوریتم ها عبارتند از رگرسیون، درختهای تصمیم ، جنگل های تصادفی، N نزدیک ترین همسایه، و رگرسیون لجستیک.
  • یادگیری بدون ناظر (unsupervised learning) : در این نوع از الگوریتم ها ، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم ها می توان زد، گروه بندی خودکار (خوشه بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به صورت خودکار آنها را به گروه های همسان و هم ارز تقسیم کنیم . الگوریتم Apriori و K-Means از این دسته هستند.
  • یادگیری تقویت شونده (Reinforcement Learning) : نوع سوم از الگوریتم ها که شاید بتوان آنها را در زمره الگوریتم های بدون ناظر هم دسته بندی کرد ، دسته ای هستند که از آنها با نام یادگیری تقویت شونده یاد میشود. در این نوع از الگوریتم ها، یک ماشین (در حقیقت برنامه کنترل کننده آن)، برای گرفتن یک تصمیم خاص ، آموزش داده می شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن های مجاز (مثلا حرکت به جلو ، حرکت به عقب و …) ، یک تصمیم را می گیرد که در دفعات اول، این تصمیم می تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او میدهد و از روی این فیدبک، ماشین متوجه میشود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت ، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند.
  • با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم گیری مارکوف ، یکی از مثالهای این گروه از الگوریتم ها می تواند باشد . الگوریتم های شبکه های عصبی هم می توانند ازین دسته به حساب آیند. منظور از کلمه تقویت شونده در نام گذاری این الگوریتم ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می شود

الگوریتم های اصلی و رایج یادگیری ماشین

  1. رگرسیون خطی
  2. رگرسیون لجستیک
  3. درخت تصمیم
  4. SVM
  5. Naive Bayes
  6. KNN
  7. K-Means
  8. جنگل تصادفی
  9. الگوریتم های کاهش ابعاد
  10. Gradient Boost & Ada Boost

منبع

یادگیری ماشین قسمت ۱
یادگیری ماشین قسمت ۲
یادگیری ماشین قسمت ۳