Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > الگوریتم ها > الگوریتم کلونی مورچگان (Ant Colony Algorithm)


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۸-۱۸-۱۳۹۰, ۱۲:۴۵ قبل از ظهر   #11 (لینک دائم)
عضو جدید
 
آواتار fandogh2011
 
تاريخ عضويت: آبان ۱۳۹۰
محل سكونت: khozestan
پست ها: 4
تشكرها: 0
1 تشكر در 1 پست
پيش فرض

سلام. من میخوام مقالهای در خصوص پیدا کردن کوتاهترین مسیر درشبکه توسط الگوریتم کلونی مورچه بنویسم لطفا راهنمایم کنید اگه پروژه یا مقاله ای در این خصوص هست واسم بذارید.ممنون از لطفه دوستان
fandogh2011 آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۸-۱۸-۱۳۹۰, ۰۳:۱۲ قبل از ظهر   #12 (لینک دائم)
Active users
 
آواتار en_ahmad
 
تاريخ عضويت: مرداد ۱۳۹۰
پست ها: 58
تشكرها: 120
176 تشكر در 52 پست
My Mood: Khonsard
پيش فرض

نقل قول:
نوشته اصلي بوسيله fandogh2011 نمايش پست
سلام. من میخوام مقالهای در خصوص پیدا کردن کوتاهترین مسیر درشبکه توسط الگوریتم کلونی مورچه بنویسم لطفا راهنمایم کنید اگه پروژه یا مقاله ای در این خصوص هست واسم بذارید.ممنون از لطفه دوستان
سلام
لطفا به پست زیر یه سری بزنید.

Artificial Intelligence - هوش مصنوعی - نمايش پست تنها - ليست تمام مقالات فارسی الگوريتم کلوني مورچه ها

در ضمن در اولین صفحه این تاپیک هم یکسری کد تو این زمینه قرار داده شده.

ويرايش شده توسط en_ahmad; ۰۸-۱۸-۱۳۹۰ در ساعت ۰۳:۱۹ قبل از ظهر
en_ahmad آفلاين است   پاسخ با نقل قول
از en_ahmad تشكر كرده است:
ayfer.a11 (۰۸-۱۸-۱۳۹۰)
قديمي ۰۸-۱۸-۱۳۹۰, ۰۳:۱۳ قبل از ظهر   #13 (لینک دائم)
Active users
 
آواتار ayfer.a11
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: (Azarbaycan(tabriz
پست ها: 76
تشكرها: 428
191 تشكر در 57 پست
My Mood: Mehrabon
ارسال پيغام Yahoo به ayfer.a11
پيش فرض

نقل قول:
نوشته اصلي بوسيله fandogh2011 نمايش پست
سلام. من میخوام مقالهای در خصوص پیدا کردن کوتاهترین مسیر درشبکه توسط الگوریتم کلونی مورچه بنویسم لطفا راهنمایم کنید اگه پروژه یا مقاله ای در این خصوص هست واسم بذارید.ممنون از لطفه دوستان
سلام
---
Ant Colony Optimization and its Application to
Adaptive Routing in Telecommunication Networks


A Position Based Ant Colony Routing
Algorithm for Mobile Ad-hoc Networks
فايل ضميمه
نوع فايل: pdf thesis-abstract.pdf (85.3 كيلو بايت, 362 نمايش)
نوع فايل: pdf 1020-3164-1-PB.pdf (431.1 كيلو بايت, 491 نمايش)
__________________
با خدا باش وپادشاهی کن ..... بی خدا باش وهر چه خواهی کن...!

------


من بیر ایران توركو و ایران آذربایجانیندا یاشیان آدلی سانلی و ایرانا بویوك آدلار قازانان بیر توركم....!!
و ایفتیخاریم بودور تورک قیزیام


URMU LAKE IS THIRSTY


ayfer.a11 آفلاين است   پاسخ با نقل قول
از ayfer.a11 تشكر كرده است:
en_ahmad (۰۸-۱۸-۱۳۹۰)
قديمي ۱۲-۵-۱۳۹۰, ۰۳:۵۴ بعد از ظهر   #14 (لینک دائم)
عضو فعال
 
آواتار mahshidmr64
 
تاريخ عضويت: فروردين ۱۳۹۰
پست ها: 10
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام میشه مقاله انگلیسی ای که از روی اون کد الگوریتم بهینه سازی کلونی مورچه ها برای حل مسأله فروشنده دوره گرد رو پیاده سازی کردید هم روی سایت بگذارید یا اسمش رو بگید؟
mahshidmr64 آفلاين است   پاسخ با نقل قول
قديمي ۱۲-۶-۱۳۹۰, ۰۹:۵۴ بعد از ظهر   #15 (لینک دائم)
عضو فعال
 
آواتار luckygirl
 
تاريخ عضويت: آبان ۱۳۸۹
پست ها: 16
تشكرها: 2
12 تشكر در 6 پست
My Mood: Mehrabon
Smile

سلام
من کد اول رو از سایت متلب و کد دوم رو از سایت eca گرفتم
امیدوارم براتون مفید باشه
موفق باشید
فايل ضميمه
نوع فايل: rar ACO for TSP.rar (69.0 كيلو بايت, 451 نمايش)
نوع فايل: rar ants.rar (466.9 كيلو بايت, 704 نمايش)
luckygirl آفلاين است   پاسخ با نقل قول
از luckygirl تشكر كرده است:
hamed.n53 (۰۸-۱۹-۱۳۹۳)
قديمي ۱۲-۷-۱۳۹۰, ۰۶:۳۲ بعد از ظهر   #16 (لینک دائم)
عضو جدید
 
آواتار lo0ol
 
تاريخ عضويت: اسفند ۱۳۸۹
پست ها: 1
تشكرها: 1
2 تشكر در 1 پست
Thumbs up

نقل قول:
نوشته اصلي بوسيله Reyhane نمايش پست
كد:
import java.applet.*;
import java.util.*;
import java.awt.*;
import java.net.*;
import java.io.*;

public class TSP extends Applet implements Runnable {

	public int	NCITY = 5;
	public int	NGEONEURON;
	public static final double	COUNTRY = 1.00;
	public static final double	NEAR = 0.05;
	
  public static final Color bkC = new Color(0x000090); 	
  public static final Color bk2C = new Color(0x000050); 	
  public static final Color lnC = new Color(0xff0000); 	
  public static final Color ln2C = new Color(0xcccc00); 	
  public static final Color fgC = new Color(0xffffff); 	

	public Image   homeI,offscreen;
  public int imagewidth ,imageheight;
	public Thread  animator    = null;
	public boolean please_stop = false;
	Font mF = new Font("Courier", Font.BOLD, 12);
	Font sF = new Font("Courier", Font.BOLD, 8);
  public int counter;
	
	public City city[];
	public geoNeuron gn[];
	
	public double r[][];
	
	public double theta, phi, momentum;
	
	public Scrollbar cscroll;

    ///////////////////////////////////////////////////////////////////
    //
    //  Init section
    //
    ///////////////////////////////////////////////////////////////////

		public void kohonenInit(){
			theta = 0.5;
    	phi   = 0.5;
    	momentum = 0.995;

			NCITY = cscroll.getValue()/10;
			NGEONEURON = NCITY*2;
			
   		//URL url;        
      //homeI = this.getImage(this.getDocumentBase(), "home.gif");
        
      city = new City[NCITY];
      for(int i = 0; i<NCITY; i++) city[i] = new City(Math.random()*COUNTRY, Math.random()*COUNTRY);
      
      double alpha = 0.0;      
      gn = new geoNeuron[NGEONEURON];
      for(int i = 0; i<NGEONEURON; i++){
        gn[i] = new geoNeuron(0.5+0.5*Math.cos(alpha),0.5+0.5*Math.sin(alpha));
        alpha += Math.PI *2.0 / (double)(NGEONEURON);
      }
      
      r = new double[NGEONEURON][NGEONEURON];
      
      makeR(theta);        

			counter = 0;
		
		}

    ///////////////////////////////////////////////////////////////////
    //
    //  Problem section
    //
    ///////////////////////////////////////////////////////////////////

		public void makeR(double th){
		//System.out.println("");
      for(int i=0; i<NGEONEURON; i++){
      	r[i][i]= 1.0;
      	for(int j=i+1; j<NGEONEURON; j++){
      		r[i][j] = Math.exp( -1.0 * ( gn[i].dist(gn[j])*gn[i].dist(gn[j]) )/(2.0*th*th));
      		r[j][i] = r[i][j];
     			//System.out.print(" "+r[i][j]);
      	}
      	//System.out.println("");
      }
		}

    // The body of the animator thread.
    public void run() {
    	int idx,j;
    	double x1,x2,mindist;
    	int count = 0;
        while(!please_stop) {
            
            counter++;
            
            // CHOSE A RANDOM PATTERN
            idx = (int)(Math.random()*NCITY);
            x1 = city[idx].x+(Math.random()*NEAR)-NEAR/2;
            x2 = city[idx].y+(Math.random()*NEAR)-NEAR/2;
            city[idx].choose++;
           
            // SEARCH FOR MINIMAL
            mindist = 100000.0;
            j = -1;
            for(int i=0; i<NGEONEURON;i++){
            	double d = (x1 - gn[i].wx)*(x1 - gn[i].wx) + (x2 - gn[i].wy)*(x2 - gn[i].wy);
            	//double d = x1*gn[i].wx + x2*gn[i].wy;
            	//System.out.println("d="+d);
            	if(d < mindist){
            		mindist = d;
            		j = i;
            	}
            }
                        
            gn[j].update++;
                     
            // UPDATE WEIGHTS
            for(int i=0; i<NGEONEURON;i++){
            	gn[i].wx += (phi * r[i][j] * (x1 - gn[i].wx));
            	gn[i].wy += (phi * r[i][j] * (x2 - gn[i].wy));
            }
                        	              
            // DECREASE LEARNING PARAMETERS
            phi *= momentum;
            theta *= momentum;
            
            // RE-COMPUTE r MATRIX
      		  makeR(theta);
       		  
       		  
       		  // PLOT RESULT EVERY 10 SESSIONS
       		  count = (count++)%10;
       		  
      			if(count==0){
      				//System.out.println("theta = "+theta+"  phi = "+phi);

							paint(this.getGraphics());
            
							// Call Garbage Collect
							//System.gc();
			
            	try {Thread.sleep(10);} catch (InterruptedException e){};
            }
        }
        animator = null;
    }
    
    ///////////////////////////////////////////////////////////////////
    //
    //  Functional section
    //
    ///////////////////////////////////////////////////////////////////
    
    public void init() {
    
    	cscroll = new Scrollbar(Scrollbar.HORIZONTAL,NCITY*10, 10, 30, 200);
    	cscroll.setLineIncrement(10);
    	cscroll.setPageIncrement(10);
    	add(cscroll);
    	
    	kohonenInit();	
    }

    private int toXReal(double val){int w = this.size().width;return (int)(val *((double)w/2.0-50.0) / COUNTRY +25.0);}
    private int toYReal(double val){int h = this.size().height;return (int)(val *((double)h-50.0) / COUNTRY +25.0);}
   
    private int to2XReal(double val){int w = this.size().width;return (int)((double)w/2.0 + val *((double)w/2.0-50.0) / COUNTRY +25.0);}
    private int to2YReal(double val){int h = this.size().height;return (int)(val *((double)h-50.0) / COUNTRY +25.0);}
    
    public void paintLeft(Graphics g) {
        		Dimension size = this.size();
						int w = size.width, h = size.height;
						
						g.setFont(mF);
						
						// CLEAR ALL
            g.setColor(bkC);
            g.fillRect(0, 0, w, h);
            // DRAW GRID
            g.setColor(bk2C);
            for(double i=0; i<=COUNTRY; i+=(COUNTRY/20.0)){
            	g.drawLine(toXReal(0.0),toYReal(i),toXReal(COUNTRY),toYReal(i));
            	g.drawLine(toXReal(i),toYReal(0.0),toXReal(i),toYReal(COUNTRY));
            }
            
             //DRAW PATH
            g.setColor(lnC);
            for(int i=0; i<NGEONEURON; i++){
            	g.drawLine( toXReal(gn[i].wx),toYReal(gn[i].wy),
            	  toXReal(gn[(i+1)%NGEONEURON].wx),toYReal(gn[(i+1)%NGEONEURON].wy) );
            	g.drawString(""+i+"-"+(gn[i].update*100/counter)+"%",toXReal(gn[i].wx),toYReal(gn[i].wy));
            }

            g.setColor(fgC);
            
            // DRAW CITYS
            for(int i=0; i<NCITY; i++){
            	g.drawOval( toXReal(city[i].x)-4, toYReal(city[i].y)-4,8,8);
            	g.drawString(""+i+"-"+(city[i].choose*100/counter)+"%",toXReal(city[i].x),toYReal(city[i].y)+8);
            }
  	}    
		public void paintRight(Graphics g) {
        		Dimension size = this.size();
						int w = size.width, h = size.height;
	
						// CLEAR ALL
            g.setColor(bkC);
            g.fillRect(0, 0, w, h);

						g.setFont(sF);

            // DRAW CITYS
            g.setColor(fgC);
            for(int i=0; i<NCITY; i++){
            	g.drawOval( to2XReal(city[i].x)-4, to2YReal(city[i].y)-4,8,8);
             	//g.drawString("["+city[i].wx+";"+gn[i].wy+"]",to2XReal(gn[i].x),to2YReal(gn[i].y));
            }
           
            g.setColor(ln2C);
            for(int i=0; i<NGEONEURON; i++)
      				for(int j=i+1; j<NGEONEURON; j++){
      					g.drawLine( to2XReal(gn[i].x),to2YReal(gn[i].y),
            	              to2XReal(gn[j].x),to2YReal(gn[j].y));
      				  g.drawString(""+r[i][j],to2XReal((gn[i].x+gn[j].x)/2),to2YReal((gn[i].y+gn[j].y)/2));
      					//r[i][j] = Math.exp( -1.0 * (double)( gn[i].dist(gn[j])*gn[i].dist(gn[j]) )/(2.0*th));
      					
      				}
						g.setFont(mF);
            g.setColor(fgC);
     			  g.drawString("phi="+phi+" theta="+theta,to2XReal(0.0),to2YReal(0.0)+20);
    }    

    public void paint(Graphics g) {
        		Dimension size = this.size();
						int w = size.width, h = size.height;
						
						this.setBackground(bkC);

						
						if ((offscreen == null) || ((imagewidth != w) || (imageheight != h))) {
                offscreen = this.createImage(w, h);
                imagewidth = w;
                imageheight = h;
            }
						
						Rectangle clip = new Rectangle(toXReal(0),toYReal(0),toXReal(COUNTRY),toYReal(COUNTRY));
												
						Graphics goff = offscreen.getGraphics();
						goff.clipRect(clip.x, clip.y, clip.width, clip.height);
            Graphics g1 = this.getGraphics();
						g1.clipRect(clip.x, clip.y, clip.width, clip.height);
						
            paintLeft(goff);
            g1.drawImage(offscreen, 0, 0, this);
            
						//clip = new Rectangle(to2XReal(0),to2YReal(0),to2XReal(COUNTRY),to2YReal(COUNTRY));
            						
					  //goff = offscreen.getGraphics();
						//goff.clipRect(clip.x, clip.y, clip.width, clip.height);
            //g1 = this.getGraphics();
						//g1.clipRect(clip.x, clip.y, clip.width, clip.height);
						
            //paintRight(goff);
            //g1.drawImage(offscreen, 0, 0, this);
            
            clip = null;
            goff = null;
            g1 = null;
            System.gc();
            
            // CLEAR ALL
            g.setColor(bkC);
            g.fillRect(w/2+30,0,w/2+130, 20);
            g.setColor(fgC);

            g.drawString("# of city:"+cscroll.getValue()/10,w/2+30,20);

    }
 
    // Start the animation
    public void start() { 
        animator = new Thread(this);
        
        animator.start();
        
    }
    // Stop it.
    public void stop() { 
        if (animator != null) animator.stop();
        animator = null;
    }
    
    // Stop and start animating on mouse clicks.
    public boolean mouseDown(Event e, int x, int y) {
    // if running, stop it.  Otherwise, start it.
      if (animator != null){
      	please_stop = true;
      }else{ 
      	please_stop = false; 
				animator = new Thread(this);
				
				kohonenInit();
        animator.start();
      } 
      return true;
    }

}
سلام.بابت کد ممنون.
ولی کد رو ناقص گذاشتید!!!
کلاس های geoNeuron و City رو جا انداختید.
كد:
public class City{
	
	public double x,y;
	public int update,choose;
	
	public City(double x,double y){
		this.x = x;
		this.y = y;
				
		update = 0;
		choose = 0;
		
	}
	
	public double dist(City c){
		double dx = this.x - c.x;
		double dy = this.y - c.y;
		
		return Math.sqrt(dx*dx + dy*dy);
		
	}
	
}
كد:
public class geoNeuron{
	
	public double x,y;
	public double wx,wy;
	public int update,choose;
	
	public geoNeuron(double x,double y){
		this.x = x;
		this.y = y;
		
		this.wx = Math.random();
		this.wy = Math.random();
		
		update = 0;
		choose = 0;
		
	}
	
	public double dist(geoNeuron c){
		double dx = this.x - c.x;
		double dy = this.y - c.y;
		
		return Math.sqrt(dx*dx + dy*dy);
		
	}
	
	public double wdist(geoNeuron c){
		double dx = this.wx - c.wx;
		double dy = this.wy - c.wy;
		
		return Math.sqrt(dx*dx + dy*dy);
		
	}

}
موفق باشید.
lo0ol آفلاين است   پاسخ با نقل قول
از lo0ol تشكر كرده اند:
hamed.n53 (۰۸-۱۹-۱۳۹۳), m0hammad_01 (۰۲-۲۲-۱۳۹۲)
قديمي ۱۲-۷-۱۳۹۰, ۱۱:۳۸ بعد از ظهر   #17 (لینک دائم)
عضو فعال
 
آواتار luckygirl
 
تاريخ عضويت: آبان ۱۳۸۹
پست ها: 16
تشكرها: 2
12 تشكر در 6 پست
My Mood: Mehrabon
پيش فرض

مرسی بخاطر توجه و تذکرتون...
luckygirl آفلاين است   پاسخ با نقل قول
قديمي ۰۱-۲۳-۱۳۹۱, ۰۵:۱۸ بعد از ظهر   #18 (لینک دائم)
عضو جدید
 
آواتار hamid.enrique
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 9
تشكرها: 15
0 تشكر در 0 پست
ارسال پيغام Yahoo به hamid.enrique
پيش فرض

سلام
من یه فایل pdf ya ppt در مورد پیاده سازی الگوریتم بهینه سازی کولونی مورچه ها میخوام که یا چند روش رو با هم مقایسه کنه یا روی یه plant الگوریتم کلونی مورچه هارو پیاده سازی کنه
اگه کمکم کنید ممنون میشم
hamid.enrique آفلاين است   پاسخ با نقل قول
قديمي ۰۳-۱۷-۱۳۹۲, ۰۷:۵۹ بعد از ظهر   #19 (لینک دائم)
عضو جدید
 
آواتار شریار
 
تاريخ عضويت: خرداد ۱۳۹۲
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

[salam ye poroje mikham dar morede hoshe masnoei va foroshandey doregard va koloni morchegan mammon misham age komakam konid .ba sepase faravan
شریار آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۱۹-۱۳۹۲, ۱۰:۱۹ قبل از ظهر   #20 (لینک دائم)
عضو جدید
 
آواتار ZOHRE.MO
 
تاريخ عضويت: تير ۱۳۹۲
پست ها: 1
تشكرها: 0
0 تشكر در 0 پست
پيش فرض

سلام بچه ها میشه یه مقاله درباره الگوریتم کلونی مورچه ها البته انگلیسی واسه من بفرستید ممنون
ZOHRE.MO آفلاين است   پاسخ با نقل قول
پاسخ

Tags
کلونی،مورچه



كاربران در حال ديدن تاپيک: 2 (0 عضو و 2 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۸:۵۹ قبل از ظهر ميباشد.


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

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

استفاده از مطالب انجمن در سایر سایت ها، تنها با ذکر انجمن هوش مصنوعي به عنوان منبع و لینک مستقیم به خود مطلب مجاز است

Inactive Reminders By Icora Web Design