展会信息港展会大全

蚁群算法小程序(C/C++语言实现)(四)
来源:互联网   发布日期:2011-09-07 12:37:46   浏览:6235次  

导读:本文介绍用C/C++语言实现蚁群算法小程序的方法及代码。 蚁群算法小程序(C/C++语言实现)(四)...


 ms = MAX_SMELL;
  break;
  }
  if(IsTrace(i,j)) continue;
  if(Smell[type][i][j]>ms) ms = Smell[type][i][j];
  }
  break;
  case DOWN:  for(i=xxx-ANT_EYESHOT;i<=xxx+ANT_EYESHOT;i++)
  for(j=yyy+1;j<=yyy+ANT_EYESHOT;j++)
  {
  if(!JudgeCanGo(i,j)) continue;
  if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||
  (i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
  {
  ms = MAX_SMELL;
  break;
  }
  if(IsTrace(i,j)) continue;
  if(Smell[type][i][j]>ms) ms = Smell[type][i][j];
  }
  break;
  case LEFT:  for(i=xxx-ANT_EYESHOT;i 
  for(j=yyy-ANT_EYESHOT;j<=yyy+ANT_EYESHOT;j++)
  {
  if(!JudgeCanGo(i,j)) continue;
  if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||
  (i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
  {
  ms = MAX_SMELL;
  break;
  }
  if(IsTrace(i,j)) continue;
  if(Smell[type][i][j]>ms) ms = Smell[type][i][j];
  }
  break;
  case RIGHT: for(i=xxx+1;i<=xxx+ANT_EYESHOT;i++)
  for(j=yyy-ANT_EYESHOT;j<=yyy+ANT_EYESHOT;j++)
  {
  if(!JudgeCanGo(i,j)) continue;[Page]
  if((i==food.xxx&&j==food.yyy&&type==SMELL_TYPE_FOOD)||
  (i==home.xxx&&j==home.yyy&&type==SMELL_TYPE_HOME))
  {
  ms = MAX_SMELL;
  break;
  }
  if(IsTrace(i,j)) continue;
  if(Smell[type][i][j]>ms) ms = Smell[type][i][j];
  }
  break;
  default:    break;
  }
  return(ms);
  }
  int IsTrace(int xxx,int yyy)
  {
  int i;
  for(i=0;i 
  if(ant[AntNow].tracex[i]==xxx&&ant[AntNow].tracey[i]==yyy) return(1);
  return(0);
  }
  int MaxLocation(int num1,int num2,int num3)
  {
  int maxnum;
  if(num1==0&&num2==0&&num3==0) return(0);
  maxnum = num1;
  if(num2>maxnum) maxnum = num2;
  if(num3>maxnum) maxnum = num3;
  if(maxnum==num1) return(1);
  if(maxnum==num2) return(2);
  if(maxnum==num3) return(3);
  }
  int CanGo(int xxx,int yyy,int ddir)
  /* input: xxx,yyy - location of ant
  ddir - now dir
  output: 0 - forward and left and right can go
  1 - forward can not go
  2 - left can not go
  3 - right can not go
  4 - forward and left can not go
  5 - forward and right can not go
  6 - left and right can not go
  7 - forward and left and right all can not go
  */

赞助本站

人工智能实验室

相关热词: 蚁群 算法 小程 言实

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港