亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cpn.c

?? 神經網絡算法源程序,使用C編寫,需要的同志們趕快下吧
?? C
?? 第 1 頁 / 共 2 頁
字號:
{
  INT  n,i;
  REAL Length, Length_;

  for (n=0; n<NUM_DATA; n++) {
    Length  = 0;
    Length_ = 0;
    for (i=0; i<N; i++) {
      Length  += sqr(Input [n][i]);
      Length_ += sqr(Input_[n][i]);
    }
    Length  = sqrt(Length);
    Length_ = sqrt(Length_);
    for (i=0; i<N; i++) {
      Input [n][i] /= Length;
      Input_[n][i] /= Length_;
    }
  }
}


void InitializeApplication(NET* Net)
{
  INT n,i,j;

  for (n=0; n<NUM_DATA; n++) {
    for (i=0; i<Y; i++) {
      for (j=0; j<X; j++) {
        Input [n][i*X+j] = (Pattern [n][i][j] == 'O') ? HI : LO;
        Input_[n][i*X+j] = (Pattern_[n][i][j] == 'O') ? HI : LO;
      }
    }
  }
  NormalizeInput();
  for (n=0; n<NUM_DATA; n++) {
    Output[n][0] = sin(n * 0.25 * PI);
    Output[n][1] = cos(n * 0.25 * PI);
  }
  f = fopen("CPN.txt", "w");
}


void WriteInput(NET* Net, REAL* Input)
{
  INT i;
   
  for (i=0; i<N; i++) {
    if (i%X == 0) {
      fprintf(f, "\n");
    }
    fprintf(f, "%c", (Input[i] != LO) ? 'O' : ' ');
  }
  fprintf(f, " -> ");
}


void WriteOutput(NET* Net, REAL* Output)
{
  REAL Angle;

  Angle = (atan2(Output[0], Output[1]) / PI) * 180;
  if (Angle < 0)
    Angle = Angle + 360;

  fprintf(f, "%0.0f癨n", Angle);
}


void FinalizeApplication(NET* Net)
{
  fclose(f);
}


/******************************************************************************
                          I N I T I A L I Z A T I O N
 ******************************************************************************/


void GenerateNetwork(NET* Net)
{
  INT i;

  Net->InputLayer   = (LAYER*) malloc(sizeof(LAYER));
  Net->InstarLayer  = (LAYER*) malloc(sizeof(LAYER));
  Net->OutstarLayer = (LAYER*) malloc(sizeof(LAYER));

  Net->InputLayer->Units    = N;
  Net->InputLayer->Output   = (REAL*)  calloc(N, sizeof(REAL));
      
  Net->InstarLayer->Units   = C;
  Net->InstarLayer->Output  = (REAL*)  calloc(C, sizeof(REAL));
  Net->InstarLayer->Weight  = (REAL**) calloc(C, sizeof(REAL*));
  Net->InstarLayer->Winner  = (BOOL*)  calloc(C, sizeof(BOOL));
      
  Net->OutstarLayer->Units  = M;
  Net->OutstarLayer->Output = (REAL*)  calloc(M, sizeof(REAL));
  Net->OutstarLayer->Weight = (REAL**) calloc(M, sizeof(REAL*));
      
  for (i=0; i<C; i++) {
    Net->InstarLayer->Weight[i] = (REAL*) calloc(N, sizeof(REAL));
  }
  for (i=0; i<M; i++) {
    Net->OutstarLayer->Weight[i] = (REAL*) calloc(C, sizeof(REAL));
  }

  Net->Winners = 1;
  Net->Alpha   = 0.1;
  Net->Beta    = 0.1;
}


void SetInput(NET* Net, REAL* Input, BOOL Protocoling)
{
  INT i;
   
  for (i=0; i<Net->InputLayer->Units; i++) {
    Net->InputLayer->Output[i] = Input[i];
  }
  if (Protocoling) {
    WriteInput(Net, Input);
  }
}


void GetOutput(NET* Net, REAL* Output, BOOL Protocoling)
{
  INT i;
   
  for (i=0; i<Net->OutstarLayer->Units; i++) {
    Output[i] = Net->OutstarLayer->Output[i];
  }
  if (Protocoling) {
    WriteOutput(Net, Output);
  }
}


/******************************************************************************
                     P R O P A G A T I N G   S I G N A L S
 ******************************************************************************/


void PropagateToInstars(NET* Net)
{
  INT  w,i,j;
  REAL Sum, SumWinners, MaxOut;
  INT  Winner;

  for (i=0; i<Net->InstarLayer->Units; i++) {
    Sum = 0;
    for (j=0; j<Net->InputLayer->Units; j++) {
      Sum += Net->InstarLayer->Weight[i][j] * Net->InputLayer->Output[j];
    }
    Net->InstarLayer->Output[i] = Sum;
    Net->InstarLayer->Winner[i] = FALSE;
  }
  SumWinners = 0;
  for (w=0; w<Net->Winners; w++) {
    MaxOut = MIN_REAL;
    for (i=0; i<Net->InstarLayer->Units; i++) {
      if (NOT Net->InstarLayer->Winner[i] AND Net->InstarLayer->Output[i] > MaxOut)
        MaxOut = Net->InstarLayer->Output[Winner = i];
    }
    Net->InstarLayer->Winner[Winner] = TRUE;
    SumWinners += Net->InstarLayer->Output[Winner];
  }
  for (i=0; i<Net->InstarLayer->Units; i++) {
    if (Net->InstarLayer->Winner[i])
      Net->InstarLayer->Output[i] = Net->InstarLayer->Output[i] / SumWinners;
    else
      Net->InstarLayer->Output[i] = 0;
  }
}


void PropagateToOutstars(NET* Net)
{
  INT  i,j;
  REAL Sum;

  for (i=0; i<Net->OutstarLayer->Units; i++) {
    Sum = 0;
    for (j=0; j<Net->InstarLayer->Units; j++) {  
      Sum += Net->OutstarLayer->Weight[i][j] * Net->InstarLayer->Output[j];
    }
    Net->OutstarLayer->Output[i] = Sum;
  }
}


void PropagateNet(NET* Net)
{
  PropagateToInstars(Net);
  PropagateToOutstars(Net);
}


/******************************************************************************
                        T R A I N I N G   T H E   N E T
 ******************************************************************************/


INT Winner(NET* Net)
{
  INT i;

  for (i=0; i<Net->InstarLayer->Units; i++) {
    if (Net->InstarLayer->Winner[i])
      return i;
  }
}


void TrainInstars(NET* Net, INT Epochs)
{
  INT n,m,i,j;
   
  for (i=0; i<Net->InstarLayer->Units; i++) {
    for (j=0; j<Net->InputLayer->Units; j++) {
      Net->InstarLayer->Weight[i][j] = Input[i][j];
    }
  }
  Net->Winners = 1;
  for (m=0; m<Epochs*NUM_DATA; m++) {
    n = RandomEqualINT(0, NUM_DATA-1);
    SetInput(Net, Input[n], FALSE);
    PropagateToInstars(Net);
    i = Winner(Net);
    for (j=0; j<Net->InputLayer->Units; j++) {
      Net->InstarLayer->Weight[i][j] +=
        Net->Alpha * (Input[n][j] - Net->InstarLayer->Weight[i][j]);
    }
  }
}


void TrainOutstars(NET* Net, INT Epochs)
{
  INT n,m,i,j;
   
  for (i=0; i<Net->OutstarLayer->Units; i++) {
    for (j=0; j<Net->InstarLayer->Units; j++) {
      Net->OutstarLayer->Weight[i][j] = Output[j][i];
    }
  }
  Net->Winners = 1;
  for (m=0; m<Epochs*NUM_DATA; m++) {
    n = RandomEqualINT(0, NUM_DATA-1);
    SetInput(Net, Input[n], FALSE);
    PropagateToInstars(Net);
    j = Winner(Net);
    for (i=0; i<Net->OutstarLayer->Units; i++) {
      Net->OutstarLayer->Weight[i][j] +=
        Net->Beta * (Output[n][i] - Net->OutstarLayer->Weight[i][j]);
    }
  }
}


/******************************************************************************
                      S I M U L A T I N G   T H E   N E T
 ******************************************************************************/


void SimulateNet(NET* Net, REAL* Input)
{
  REAL Output[M];

  SetInput(Net, Input, TRUE);
  PropagateNet(Net);
  GetOutput(Net, Output, TRUE);
}


/******************************************************************************
                                    M A I N
 ******************************************************************************/


void main()
{
  NET Net;
  INT n;

  InitializeRandoms();
  GenerateNetwork(&Net);
  InitializeApplication(&Net);
  TrainInstars(&Net, 0);         /* weights are computed for this application */
  TrainOutstars(&Net, 0);        /* weights are computed for this application */

  Net.Winners = 2;
  for (n=0; n<NUM_DATA; n++) {
    SimulateNet(&Net, Input[n]);
  }
  for (n=0; n<NUM_DATA; n++) {
    SimulateNet(&Net, Input_[n]);
  }

  FinalizeApplication(&Net);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区视频在线观看2020 | 91亚洲精品一区二区乱码| 无吗不卡中文字幕| 一区二区三区欧美日| 中文字幕日本不卡| 亚洲国产岛国毛片在线| 亚洲欧洲av在线| 樱桃视频在线观看一区| 亚洲欧美日韩一区二区三区在线观看| 国产精品成人免费在线| 国产欧美精品日韩区二区麻豆天美| 久久影院视频免费| 欧美激情综合在线| 亚洲日韩欧美一区二区在线| 自拍偷拍亚洲激情| 亚洲自拍偷拍av| 天天操天天色综合| 麻豆精品久久精品色综合| 视频一区二区国产| 国产主播一区二区三区| 成人黄色小视频| 色婷婷综合久久久中文一区二区 | 欧美精品第1页| 精品国产一区二区三区忘忧草| 久久精品一区二区三区不卡| 国产精品久久久久天堂| 亚洲精品成人少妇| 男人的j进女人的j一区| 国产一区二区三区久久悠悠色av| av一本久道久久综合久久鬼色| 在线视频欧美区| 欧美成人综合网站| 亚洲欧洲另类国产综合| 午夜精品久久久久久久99樱桃| 麻豆成人久久精品二区三区红 | 欧美狂野另类xxxxoooo| 精品久久久久久亚洲综合网| 中文欧美字幕免费| 丝袜a∨在线一区二区三区不卡| 国产很黄免费观看久久| 欧美日韩免费高清一区色橹橹| 精品精品国产高清a毛片牛牛| 中文字幕一区二区三区不卡| 日韩va欧美va亚洲va久久| 成人在线视频一区| 日韩一区二区三区高清免费看看| 中文字幕在线不卡一区| 蜜桃视频第一区免费观看| 92精品国产成人观看免费 | 国产精品一二二区| 欧美日韩国产一级片| 国产精品丝袜在线| 麻豆91在线播放免费| 日本韩国精品一区二区在线观看| 国产亚洲美州欧州综合国| 亚洲一卡二卡三卡四卡| 成人激情文学综合网| 日韩你懂的在线播放| 亚洲国产日韩一区二区| 懂色av中文字幕一区二区三区| 欧美一区二区三区日韩| 亚洲一区二区综合| 成人av在线资源| 国产日韩一级二级三级| 精品一区二区三区免费| 欧美高清激情brazzers| 亚洲综合色在线| 91浏览器打开| 综合中文字幕亚洲| 成人精品一区二区三区中文字幕| 久久理论电影网| 精品在线免费视频| 日韩欧美国产精品| 日本一区中文字幕| 欧美日韩高清在线播放| 视频一区二区欧美| 日韩一区二区中文字幕| 蜜桃视频免费观看一区| 欧美v国产在线一区二区三区| 日韩精品一二三| 欧美精品一二三| 日本成人在线视频网站| 91精品国产免费| 美女网站一区二区| 2欧美一区二区三区在线观看视频| 日韩精品一二三四| 欧美成人午夜电影| 国产乱淫av一区二区三区| 中文字幕乱码一区二区免费| 岛国精品在线播放| 亚洲欧美激情插| 欧美日本一区二区三区| 日本大胆欧美人术艺术动态| 精品久久一二三区| 国产999精品久久久久久| 国产精品毛片无遮挡高清| 91污片在线观看| 亚洲午夜影视影院在线观看| 欧美精品国产精品| 麻豆精品在线播放| 中文字幕精品一区二区精品绿巨人| 丁香天五香天堂综合| 亚洲综合丝袜美腿| 91麻豆精品国产91久久久| 国产一区二区三区四区五区入口 | 26uuu精品一区二区| 国产mv日韩mv欧美| 亚洲精品高清视频在线观看| 91麻豆精品国产综合久久久久久| 蜜臀av性久久久久蜜臀aⅴ四虎| 久久久久国产精品麻豆| 91网站在线观看视频| 日本麻豆一区二区三区视频| 国产精品嫩草99a| 欧美日韩免费观看一区三区| 国产精品一二三四| 亚洲国产毛片aaaaa无费看| 精品国产乱码久久久久久老虎| 99久久精品国产观看| 日本aⅴ亚洲精品中文乱码| 欧美国产综合一区二区| 欧美一区二区三区精品| 99re成人在线| 国产毛片精品视频| 亚洲在线观看免费视频| 欧美激情一区二区三区在线| 欧美日韩精品欧美日韩精品一综合| 国产一区二区调教| 日本午夜精品一区二区三区电影 | 欧美日韩视频在线观看一区二区三区| 精品一区二区影视| 亚洲1区2区3区视频| 国产精品电影一区二区| 精品91自产拍在线观看一区| 欧美日韩视频专区在线播放| 91亚洲精品久久久蜜桃网站| 国产成人亚洲综合a∨婷婷| 奇米精品一区二区三区在线观看 | 日韩av电影一区| 一区二区激情小说| 亚洲图片激情小说| 国产欧美va欧美不卡在线| 日韩精品一区二区三区三区免费| 欧美制服丝袜第一页| 99久久免费国产| av不卡一区二区三区| 国产精品12区| 风流少妇一区二区| 国产成人精品三级| 国产精品一区二区在线播放| 蜜臀a∨国产成人精品| 日韩av电影免费观看高清完整版 | 欧美亚洲自拍偷拍| 色香蕉久久蜜桃| 色综合色狠狠天天综合色| 成人精品小蝌蚪| 成人黄页毛片网站| 成人国产精品免费观看| 懂色av一区二区在线播放| 国产成人精品亚洲日本在线桃色| 国产精品99久| 国产a精品视频| 成人黄色一级视频| 色视频欧美一区二区三区| 91小视频在线| 欧美日韩www| 欧美成人在线直播| 国产欧美精品国产国产专区| 中文字幕中文字幕中文字幕亚洲无线| 日本一二三四高清不卡| 综合久久久久久| 性欧美大战久久久久久久久| 日本欧美一区二区| 国产伦精一区二区三区| 风间由美一区二区av101| 成人精品小蝌蚪| 欧美三级资源在线| 久久综合久久综合亚洲| 国产精品免费观看视频| 亚洲国产一区二区在线播放| 麻豆91精品视频| 风间由美一区二区av101| 色综合久久久久综合99| 3751色影院一区二区三区| 久久久久97国产精华液好用吗| 亚洲人成小说网站色在线| 午夜精品福利在线| 国产成人精品亚洲午夜麻豆| 欧美三级日本三级少妇99| 欧美日韩免费在线视频| 国产色综合久久| 亚洲国产综合91精品麻豆| 久久精品国产网站| 99精品在线观看视频| 日韩一级片网站| 亚洲欧美经典视频| 国产麻豆欧美日韩一区| 欧美精品v国产精品v日韩精品| 国产亚洲1区2区3区| 三级不卡在线观看|