گردونه رو بچرخون و شانس خودت رو برای گرفتن کد تخفیف امتحان کن!

روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب

(دیدگاه کاربر 1)
امتیاز 5.00 از 5

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

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.قیمت فعلی: ۸۷,۶۰۰ تومان.

تخصصی و منحصر به فرد بودن این اثر، تضمین کننده بهای محصول نسبت به آثار مشابه است.

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

درخت پوشای کمینه (مینیمم)

با توجه به یک گراف متصل و بدون جهت، درخت پوشا از آن گراف یک زیرگرافی است که اولاً یک درخت است و تمام رأس‌ها را با یکدیگر متصل می‌کند. یک گراف می‌تواند انواع درخت‌های مختلف را پوشش دهد. یک Minimum Spanning Tree درخت پوشای کمینه (MST) یا درخت پوشای مینیمال برای یک گراف وزنه دار، متصل و بدون جهت یک درخت پوشا با وزن کمتر یا برابر با وزن هر درخت دیگر است. وزن یک درخت، مجموع وزن‌های داده شده به هر لبه درخت است.

درخت پوشای کمینه

الگوریتم CMAES

این الگوریتم مخفف 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

 

درخت پوشای مینیمم با الگوریتم CMAES

درباره اثر

سورس کد تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب در محیط Matlab 2014b نوشته و اجرا شده است این سورس کد توسط تیم پشتیبانی پی استور تست و اجرا شده است. کیفیت اثر توسط پی استور تضمین می‌شود و  دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری فرمایید به محض خرید لینک دانلود در دسترس خواهد بود.

معرفی و نحوه اجرا

ویدئوی نحوه اجرا

مشخصات تکمیلی سورس کد

نام اثر: تعیین درخت پوشای مینیمم با الگوریتم CMAES در متلب
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: MATLAB
ویژگی: قابل دانلود و ویرایش

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

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

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

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

نظرات

1 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

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

دیدگاه خود را بنویسید

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

شناسه اثر: 5778 دسته‌بندی موضوعی: برچسب , ,
هوش مصنوعی پاسخگوی شماست ...
avatar
دستیار هوش مصنوعی پی استور
پاسخگوی سوالات شما هستیم...

هزینه سفارش:

تخفیف ویژه 60 درصدی

قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.قیمت فعلی: ۸۷,۶۰۰ تومان.