Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   الگوريتم ازدحام ذرات (Particle Swarm Optimization) (http://artificial.ir/intelligence/forum68.html)
-   -   درخواست کمک اورژانسی (http://artificial.ir/intelligence/thread9165.html)

بهنام329 ۰۲-۷-۱۳۹۰ ۰۸:۱۵ بعد از ظهر

درخواست کمک اورژانسی
 
من تحلیل قطعه کد زیر رو می خوام (چه جوری کار می کنه)خیلی سریع و اینکه چگونه می توان بهینه تر کرد
كد:

gbest(it,:)=gbest(it-1,:);
        gbestcost(it)=gbestcost(it-1);
        for i=1:npop
            particle(i).velocity=w*particle(i).velocity...
                                +c1*rand*(particle(i).pbest-particle(i).position)...
                                +c2*rand*(gbest(it,:)-particle(i).position);
                           
            particle(i).velocity=min(max(particle(i).velocity,-vmax),vmax);
           
            particle(i).position=particle(i).position+particle(i).velocity;
           
            particle(i).position=min(max(particle(i).position,xmin),xmax);
           
            particle(i).cost=Cost(particle(i).position);


samane_89 ۰۲-۹-۱۳۹۰ ۰۸:۲۴ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله بهنام329 (پست 17974)
من تحلیل قطعه کد زیر رو می خوام (چه جوری کار می کنه)خیلی سریع و اینکه چگونه می توان بهینه تر کرد
كد:

gbest(it,:)=gbest(it-1,:);
        gbestcost(it)=gbestcost(it-1);
        for i=1:npop
            particle(i).velocity=w*particle(i).velocity...
                                +c1*rand*(particle(i).pbest-particle(i).position)...
                                +c2*rand*(gbest(it,:)-particle(i).position);
                           
            particle(i).velocity=min(max(particle(i).velocity,-vmax),vmax);
           
            particle(i).position=particle(i).position+particle(i).velocity;
           
            particle(i).position=min(max(particle(i).position,xmin),xmax);
           
            particle(i).cost=Cost(particle(i).position);


اگه منظورتون اینه که هر دستور چی کار می کنه ؟ در یه حد مختصر می دونم

سرعت و موقعیت هر ذره تو جمعیت باید update شه و هر ذره هم نشاندهنده ی یک راه حل در فضای مسئله ی شماست.
تو فرمول update سرعت، شما با پارامتر وزن اینرسی (w) مشخص می کنید که سرعت قبلی ذره چقدر رو سرعت جدید اثر بگذاره
دو تا rand هم که برای ایجاد پراکندگی تو جمعیت
c1 : ضریبی که مشخص می کند ذره چقدر از بهترین موقعیتی که خودش تا حالا داشته استفاده کنه : pbest
c2 : ضریبی که مشخص می کند ذره چقدر از موقعیت بهترین ذره در جمعیت استفاده کنه: gbest

در نهایت موقعیت و سرعت جدید بدست می آید
فقط باید توجه کنین که موقعیت و سرعت از مرزهای تعریف شده تجاوز نمی کنه
[xmin,xmax] [vmin,vmax]
یعنی اگر هم از این مقادیر بگذره ، در نهایت به مقدار همان مرزی که گذشته تبدیل می شه

Etmam ۰۸-۲-۱۳۹۰ ۰۴:۲۹ بعد از ظهر

salam.porojei rajebe algoritme GA va SA k ba algoritme PSO piyade sazi shode bashe mikham.asan algoritme SA chiye?


زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۲:۱۳ بعد از ظهر ميباشد.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.