示例#1
0
文件: libSIDT.cpp 项目: yaps8/griso
int learnGraph(graph_t* gr, decisionTree* dt, char* message, int maxLearn, char withLabels){
	NGraph* ng;
	int n=0;
	int a;
	prog* prg=newProg(message, dt->nProgs);
	addProgToDT(dt, prg);

	for (a=0; a<gr->nodes.count; a++){
		ng=BFS(gr, a, dt->siteSize, dt->siteValence);
		if (ng!=NULL && (maxLearn == 0 || dt->nLearntSites<maxLearn)){
//			printNGraph(ng, dt->siteSize);
			if (learnSite(dt, ng, prg, withLabels) == 0){
        n++;
        dt->nLearntSites++;
       //printf("new site:\n");
       //printf("(+%d):\n", a);
       //printNGraph(ng, dt->siteSize);
      }
      else {
        //if (a==154){
        //printf("(=%d):\n", a);
        //printNGraph(ng, dt->siteSize);
        //}
      }
			freeNGraph(ng);
		}
	}
	prg->nSites=n;
//	dt->nLearntSites+=n;
	return n;
}
示例#2
0
int main(int argc, char *argv[])
/* Process command line. */
{
struct dyString *ds = newDyString(1024);
int i;

optionInit(&argc, argv, options);
cgi = optionExists("cgi");
jkhgap = optionExists("jkhgap");
if (argc < 3)
     usage();
for (i=2; i<argc; ++i)
    {
    dyStringAppend(ds, argv[i]);
    if (i != argc-1)
       dyStringAppend(ds, " ");
    }
newProg(argv[1], ds->string);
return 0;
}