ایمیل خود را وارد و بر روی بچرخون کلیک کنید. (کد تخفیف دریافتی را هنگام ثبت سفارش وارد کنید)
قوانین بازی:
برنامهنویس:
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.
قبل از پرداختن به موضوع تعیین درخت پوشای مینیمم با الگوریتم CMAES بهتر است با این الگوریتم آشنا شویم. الگوریتم CMA-ES جزو الگوریتمهای تکاملی یا فرا ابتکاری هستند که به یافتن پاسخ بهینه مسائل مختلف بهینه سازی میپردازد. این الگوریتم از یک توزیع نرمال، نمونهگیری کرده و جمعیت جدید را به وجود میآورد. این الگوریتم تکاملی یک ماتریس کواریانس و یک بردار میانگین را از جمعیت تخمین میزند. قوانین مختلف به روزرسانی، ماتریس کواریانس تطبیق یافتهای را در هر نسل ایجاد میکند که در کیفیت جمعیت جدید و در نتیجه هدایت تکامل نقش مهمی دارد.
با توجه به یک گراف متصل و بدون جهت، درخت پوشا از آن گراف یک زیرگرافی است که اولاً یک درخت است و تمام رأسها را با یکدیگر متصل میکند. یک گراف میتواند انواع درختهای مختلف را پوشش دهد. یک Minimum Spanning Tree درخت پوشای کمینه (MST) یا درخت پوشای مینیمال برای یک گراف وزنه دار، متصل و بدون جهت یک درخت پوشا با وزن کمتر یا برابر با وزن هر درخت دیگر است. وزن یک درخت، مجموع وزنهای داده شده به هر لبه درخت است.
این الگوریتم مخفف Covariance Matrix Adaptation Evolution Strategy به معنای استراتژی تکاملی انطباق ماتریس کوواریانس میباشد. دو اصل اصلی برای سازگاری پارامترهای توزیع جستجو در الگوریتم CMA-ES مورد استفاده قرار میگیرند.
ابتدا، یک اصل حداکثر احتمال maximum-likelihood، برای افزایش احتمال موفقیت راه حلهای کاندید شده و مراحل جستجو در نظر گرفته میشود. متوسط توزیع به روز میشود به طوری که احتمال موفقیت پیشین موفق به راه حلهای حداکثر میشود.
ماتریس کوواریانس توزیع (به طور تدریجی) به روز میشود به طوری که احتمال مراحل پیشین موفق جستجو افزایش مییابد. هر دو به روز رسانی را میتوان به عنوان یک شیب طبیعی شناخت. همچنین، در نتیجه، CMA یک مولفه اصلی تکرار شده برای تجزیه و تحلیل مراحل جستجو موفق را در حالی که تمام محورهای اصلی را نگه میدارد انجام میدهد.
دوم، دو مسیر از زمان تکامل میانگین توزیع استراتژی ثبت شده، به نام مسیر جستجو یا تکامل میباشد. این مسیرها حاوی اطلاعات مهمی درباره همبستگی بین مراحل متوالی هستند.
به طور خاص، اگر مراحل متوالی در جهت مشابهی گرفته شود، مسیرهای تکاملی بلند میشوند. مسیرهای تکاملی از دو راه بهره برداری میشوند. یک راه برای روش انطباق ماتریس کوواریانس به جای مراحل موفقیت آمیز استفاده میشود و باعث افزایش احتمال واریانس بسیار بیشتر جهت جهت مطلوب میشود. مسیر دیگر مورد استفاده برای کنترل اضافی اندازه گام است.
clc; clear; close all; %% Problem Definition model=CreateModel(); CostFunction=@(xhat) CostFun(xhat,model); % Cost Function nVar=model.n*(model.n-1)/2; % Number of Decision Variables VarSize=[1 nVar]; % Decision Variables Matrix Size VarMin=0; % Lower Bound of Variables VarMax=1; % Upper Bound of 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,M(1).Sol]=CostFunction(M(1).Position); BestSol=M(1); BestCost=zeros(MaxIt,1);
سورس کد تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین میشود و دارای نشان تضمین کیفیت پی استور میباشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.
نام اثر: | تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
زبان برنامه نویسی: | MATLAB |
ویژگی: | قابل دانلود و ویرایش |
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
نظرات
مدیریت و پشتیبانی
نظرات و پیشنهادات خود را با ما در میان بگذارید.