• مقالات آموزشی
    • آموزش برنامه نویسی
    • آموزش الگوریتم
    • آموزش شبکه های کامپیوتری
    • آموزش های عمومی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپوینت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • لیست قالب آماده HTML
  • دانلود رایگان
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین
  • سفارش تدریس آنلاین
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • درباره ما
  • تماس با ما
  • سفارش تدریس آنلاین
پی استور
0

ورود و ثبت نام

مقالات آموزشی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپونت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
      • عمومی
      • مشاهیر و اشخاص
      • واقعیت مجازی
      • طراحی سایت
      • برنامه نویسی
      • علوم کامپیوتر
      • اینترنت اشیاء
      • سیستم عامل
      • ارز دیجیتال
      • کسب و کار
      • تکنولوژی
      • علوم
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • قالب آماده HTML
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین

الگوریتم CMAES در متلب – الگوریتم CMAES (استراتژی تکاملی انطباق ماتریس کوواریانس) در متلب

خانهفروشگاهبرنامه نویسیمتلبالگوریتم CMAES در متلب – الگوریتم CMAES (استراتژی تکاملی انطباق ماتریس کوواریانس) در متلب
https://dl.programstore.ir/files/Uploades/Previews/Matlab/CMA-ES.mp4

سورس کد الگوریتم CMAES در متلب عنوان موضوعی است که در این پست به آن پرداخته می شود. الگوریتم CMA-ES از جمله الگوریتم‌های تکاملی شناخته شده‌‌ی بهینه‌سازی است که از یک توزیع نرمال، نمونه‌گیری کرده و جمعیت جدید را به وجود می‌آورد. این الگوریتم تکاملی یک ماتریس کواریانس و یک بردار میانگین را از جمعیت تخمین می‌زند. قوانین مختلف به روز‌رسانی، ماتریس کواریانس تطبیق یافته‌ای را در هر نسل ایجاد می‌کند که در کیفیت جمعیت جدید و در نتیجه هدایت تکامل نقش مهمی دارد.

cropped-fav2.png

برنامه‌نویس: تیم برنامه نویسی پی استور

متشکل از اساتید و فارغ التحصیلان رشته های فنی - مهندسی

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

الگوریتم CMAES

این الگوریتم مخفف Covariance Matrix Adaptation Evolution Strategy به معنای استراتژی تکاملی انطباق ماتریس کوواریانس می باشد. دو اصل اصلی برای سازگاری پارامترهای توزیع جستجو در الگوریتم CMA-ES مورد استفاده قرار می گیرند.

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

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

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

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

شبه کد الگوریتم CMAES

در زیر، بیشترین استفاده الگوریتم μ / μw، λ -CMA-ES مشخص شده است، که در هر گام تکرار ترکیبی وزنی از μ بهترین از λ راه حل های نامزد جدید برای به روز رسانی پارامترهای توزیع استفاده می شود. حلقه اصلی شامل سه بخش اصلی است:

1) نمونه برداری از راه حل های جدید؛

2) ترتیب مجدد راه حل های نمونه بر اساس تناسب آن؛

3) به روز رسانی متغیرهای حالت داخلی بر اساس نمونه های مرتب شده.

یک pseudocode از الگوریتم به شرح زیر است.

الگوریتم CMAES در متلب
شبه کد الگوریتم CMAES

سورس کد الگوریتم CMAES در متلب

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

  • تابع  SPHERE
  • تابع ACKLEY
  • تابع SUM SQUARES
  •  تابع ROSENBROCK
  • تابع SUM OF DIFFERENT POWERS
  • تابع ZAKHAROV
  • تابع Rastrigin

توابع زیادی برای تست عملکرد الگوریتم های بهینه سازی وجود دارد که در اینجا ما به این 7 تابع اکتفا کرده ایم. همچنین لازم به ذکر است که برای اجرای الگوریتم بهینه سازی روی مسئله مورد نظر تابع هزینه یا Cost Function آن تغییر خواهد کرد و بقیه الگوریتم دست نخورده باقی می ماند بنابراین برای اجرای الگوریتم CMAES در متلب برای بهینه سازی مسئله خودتان تابع هزینه خود را بر اساس پارامترهای مسئله خود تعریف کنید.

قسمتی از سورس کد

clc;
clear;
close all;

%% Problem Settings

 CostFunction=@(x) Sphere(x);        % Cost Function
% CostFunction=@(x) Sum_Squares(x);        % Cost Function
% CostFunction=@(x) Sum_Of_Different(x);        % Cost Function
% CostFunction=@(x) Ackley(x);        % Cost Function
%CostFunction=@(x) Rosenbrock(x);        % Cost Function
% CostFunction=@(x) Zakharov(x);        % Cost Function
% CostFunction=@(x) Rastrigin(x);

nVar=10;                % Number of Unknown (Decision) Variables

VarSize=[1 nVar];       % Decision Variables Matrix Size

VarMin=-10;             % Lower Bound of Decision Variables
VarMax= 10;             % Upper Bound of Decision Variables

%% CMA-ES Settings

% Maximum Number of Iterations
MaxIt=300;

% Population Size (and Number of Offsprings)
lambda=(4+round(3*log(nVar)))*10;

% Number of Parents
mu=round(lambda/2);

% Parent Weights
w=log(mu+0.5)-log(1:mu);
w=w/sum(w);

% Number of Effective Solutions
mu_eff=1/sum(w.^2);

% Step Size Control Parameters (c_sigma and d_sigma);
sigma0=0.3*(VarMax-VarMin);
cs=(mu_eff+2)/(nVar+mu_eff+5);
ds=1+cs+2*max(sqrt((mu_eff-1)/(nVar+1))-1,0);
ENN=sqrt(nVar)*(1-1/(4*nVar)+1/(21*nVar^2));

% Covariance Update Parameters
cc=(4+mu_eff/nVar)/(4+nVar+2*mu_eff/nVar);
c1=2/((nVar+1.3)^2+mu_eff);
alpha_mu=2;
cmu=min(1-c1,alpha_mu*(mu_eff-2+1/mu_eff)/((nVar+2)^2+alpha_mu*mu_eff/2));
hth=(1.4+2/(nVar+1))*ENN;

%% Initialization

ps=cell(MaxIt,1);
pc=cell(MaxIt,1);
C=cell(MaxIt,1);
sigma=cell(MaxIt,1);

ps{1}=zeros(VarSize);
pc{1}=zeros(VarSize);
C{1}=eye(nVar);
sigma{1}=sigma0;

empty_individual.Position=[];
empty_individual.Step=[];
empty_individual.Cost=[];

M=repmat(empty_individual,MaxIt,1);
M(1).Position=unifrnd(VarMin,VarMax,VarSize);
M(1).Step=zeros(VarSize);
M(1).Cost=CostFunction(M(1).Position);

BestSol=M(1);

BestCost=zeros(MaxIt,1);

%% CMA-ES Main Loop

for g=1:MaxIt
    
    % Generate Samples
    pop=repmat(empty_individual,lambda,1);
    for i=1:lambda
        pop(i).Step=mvnrnd(zeros(VarSize),C{g});
        pop(i).Position=M(g).Position+sigma{g}*pop(i).Step;
        pop(i).Cost=CostFunction(pop(i).Position);
        
        % Update Best Solution Ever Found
        if pop(i).Cost<BestSol.Cost
            BestSol=pop(i);
        end

برای دانلود سورس کامل محصول را خریداری فرمایید.

تصویر خروجی محصول

الگوریتم CMAES در متلب

ویدئوی معرفی محصول

Your browser does not support the video tag.

درباره محصول

سورس کد الگوریتم CMAES در متلب در محیط Matlab 2017b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت محصول توسط پی استور تضمین می شود و محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

گارنتی 7 روزه بازگشت هزینه

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

  • ۱۰۰ درصد مبلغ پرداختی در حساب کاربری شما شارژ می‌شود.
  • و یا 80 درصد مبلغ پرداختی به حساب بانکی شما عودت داده می‌شود.

مباحث مرتبط با الگوریتم CMAES

تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب
تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب
الگوریتم CMAES فروشنده دوره گرد – سورس کد الگوریتم CMAES برای حل مسئله فروشنده دوره گرد TSP در متلب
الگوریتم CMAES برای حل مسئله فروشنده دوره گرد TSP در متلب
مقایسه الگوریتم های بهینه سازی در متلب
مقایسه الگوریتم های بهینه سازی در متلب
الگوریتم تکاملی تفاضلی در متلب
الگوریتم تکاملی تفاضلی در متلب

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

الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی در متلب
الگوریتم بهینه سازی مبتنی بر جغرافیای زیستی در متلب
آموزش الگوریتم PSO در متلب — مفاهیم تئوری و نحوه پیاده سازی
آموزش الگوریتم PSO در متلب — مفاهیم تئوری و نحوه پیاده سازی
الگوریتم بهینه ساز خفاش BA در متلب Matlab
الگوریتم بهینه ساز خفاش BA در متلب Matlab
سورس کد الگوریتم وال WOA در متلب
سورس کد الگوریتم وال WOA در متلب
امتیاز
5.00 از 1 رأی
5.00 1 رای
49,000 تومان
تاریخ انتشار: 14 تیر 1398
تاریخ بروزرسانی: 25 اسفند 1398
حجم فایل: 3 کیلوبایت
فرمت فایل m. در قالب متلب
نسخه: 1.0
شناسه اثر: ندارد
هماهنگی با: Matlab 2017b
دانلود شده توسط: 206 نفر

تاکنون 206 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.

نظرات و دیدگاه ها
  • مدیریت و پشتیبانی
    14 تیر 1398
    امتیاز 5 از 5
    پاسخ

    نظرات و پیشنهادات خود را با ما در میان بگذارید.

قوانین ثبت دیدگاه

  • لطفاً دیدگاه های خود را فارسی تایپ کنید.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.

لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دسته‌بندی موضوعی: الگوریتم‌های تکاملی برنامه نویسی متلب

قیمت 49,000 تومان

افزودن به علاقه مندی ها
امتیاز
5.00 از 1 رأی
5.00 1 رای
49,000 تومان

تاریخ انتشار: 14 تیر 1398
تاریخ بروزرسانی: 25 اسفند 1398
حجم فایل: 3 کیلوبایت
فرمت فایل m. در قالب متلب
نسخه: 1.0
شناسه اثر: ندارد
هماهنگی با: Matlab 2017b
دانلود شده توسط: 206 نفر

1 بازخورد (مشاهده نظرات)

قیمت: 49,000 تومان

تماس با ما
  • دفتر پشتیبانی: 04144225175 (ساعت کاری 8:00 الی 16:00)
  • آی دی تلگرام: programerPstore
درباره پی استور

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

مجوز های اخذ شده
اینماد نشان ملی   پروانه نشر دیجیتال
  • حساب کاربری من
  • سوالات متداول
  • راهنمای خرید و دانلود
پی استور
  • همکاری با ما
  • قوانین و مقررات
  • حریم خصوصی
تمامی حقوق برای پی استور محفوظ است.
keyboard_arrow_up