ページ 11

WSモデルについて

Posted: 2007年7月05日(木) 21:57
by TmT
ランダムモデルを改造してスモールワールドモデルにしようと思っているのですが、
理論を見れば見るほど混乱してしまいます。
データはネットファイルにして保存する形です。
どなたかお分かりになる方、教えてください。
下記はランダムモデルです。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void ws_model(int N, double p);

int main(int argc, char *argv[/url])
{
  int N;   //頂点数
  double p=atof(argv[1]); //確率 p

  char filename[18]="model.net";
  FILE *fp;
 
  if(argc == NULL) exit(0);

  printf("Input Vertex Size: ");
  scanf("%d", &N);
 srand(time(0));

  printf("Vertex size: %d\n", N);
  fp=fopen(filename, "w");
  fprintf(fp, "*Vertices %d\n", N);
  fprintf(fp, "*Edges\n");

  ws_model(N, p);

  fclose(fp);
  return 0;
}

void ws_model(int N, double p)
{

  int i, j;

  char filename[18] = "model.net";
  FILE *fp;
  fp=fopen(filename, "w");
  
  for(i=0; i<N; i++) {
   for(j=i+1; j<N; j++) {
     if(p > (double)rand()/RAND_MAX) {
       fprintf(fp, "%d %d 1\n", i+1, j+1);
      }
   }
  fclose(fp);
}