- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
/**horn clauses**/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<time.h>
#define NN 10
#define Nc1 4
#define Nc2 2
#define Nc3 4
#define NH 100
#define RELAX 100
#define NT 100
#define COMBMAX 100
#define TOL 0.001
#define TRUE 1
#define FALSE 0
#define NEGBIAS -0.0
#define NCHCHECK 5
void main()
{
int c3[Nc3][3], c2[Nc2][2], c1[Nc1], i, j, k, l, y, z, n, m, NS[NN], Nbef[NN], iev, ievn, p, comb;
int NI[NN], NF[NN];
float zM, yM, nrelaxM, nrelaxMM;
float J1[NN], J2[NN][NN], J3[NN][NN][NN];
float Erg1, Erg2, Erg3, E1, E2, E3;
float devG, devHD, devHG, devHL;
float ES;
float Eav;
float min;
float h[NN];
float EavM;
float varians, variansR;
float sp, spR;
float EM, EAM;
float Hamming_Distance, HDG, HDL, HDGlobal, HDLocal;
int change, nchange, nrelax;
float nR, NRE;
FILE *outf;
srand(time(NULL));
outf=fopen("ss.text", "w");
printf("Ideal energy landscape of horn clauses \n\n");
fprintf(outf, "Ideal energy landscape of horn clauses \n\n");
printf(" no. of neurons : %d\n no. of learning events: %d\n RELAX time: %d\n no. of trials: %d\n COMBMAX: %d\n", NN, NH, RELAX, NT, COMBMAX);
fprintf(outf, " no. of neurons: %d\n no. of learning events: %d\n RELAX time: %d\n no. of trials: %d\n COMBMAX: %d\n", NN, NH, RELAX, NT, COMBMAX);
printf("Nc1= %d Nc2=%d Nc3=%d \n", Nc1, Nc2, Nc3);
fprintf(outf, "Nc1= %d Nc2=%d Nc3=%d \n", Nc1, Nc2, Nc3);
printf("TOL= %f\n", TOL);
fprintf(outf, "TOL= %f\n", TOL);
/**Initialize average energy**/
EavM = 0;
zM = 0;
yM = 0;
ES = -NN*NEGBIAS;
EM = 0;
EAM = 0;
z = 0;
y = 0;
Eav = 0;
HDG = 0;
HDL = 0;
HDGlobal = 0;
HDLocal = 0;
nrelaxM = 0.0;
nrelaxMM = 0.0;
Hamming_Distance = 0;
nR = 0;
NRE = 0;
/**Generating min energy supposed to be**/
/**for first order**/
for(i=0;i<Nc1;i++) { ES+=-0.5; }
/**for second order**/
for(i=0;i<Nc2;i++) { ES+=-0.25; }
/**for third order**/
for(i=0;i<Nc3;i++) { ES+=-0.125; }
printf("ES = %f \n\n", ES);
fprintf(outf, "ES = %f \n\n", ES);
/**loop for random clauses combination**/
for(comb=0; comb<COMBMAX;comb++)
{
/**generate random clauses**/
/**first order**/
for(i=0;i<Nc1;i++) {
stt:
c1[i]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
for(j=0;j<i;j++) { if(c1[j]==c1[i]) goto stt; }
}
/**second order**/
for(i=0;i<Nc2;i++) {
stt1:
c2[i][0]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
stt11:
c2[i][1]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
if(c2[i][0]==c2[i][1]) goto stt11;
for(j=0;j<i;j++) { if(c2[j][0]==c2[i][0] && c2[j][1]==c2[i][1]) goto stt1; }
}
/**third order**/
for(i=0;i<Nc3;i++) {
stt2:
c3[i][0]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
stt21:
c3[i][1]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
if(c3[i][0]==c3[i][1]) goto stt21;
stt22:
c3[i][2]=(int)(((float)rand()/(float)RAND_MAX)*(float)NN);
if(c3[i][0]==c3[i][2]||c3[i][1]==c3[i][2]) goto stt22;
for(j=0;j<i;j++)
{ if(c3[j][0]==c3[i][0] && ((c3[j][1]==c3[i][1] && c3[j][2]==c3[i][2])|| (c3[j][1]==c3[i][2] && c3[j][2]==c3[i][1])) ) goto stt2; }
}
/**initialize synaptic strengths to 0**/
for(i=0;i<NN;i++)
{ J1[i]=NEGBIAS;
for(j=0;j<NN;j++)
{ J2[i][j]=0.0;
for(k=0;k<NN;k++)
{ J3[i][j][k]=0.0; }
}
}
/**derive J1 for first order**/
for(i=0;i<Nc1;i++)
{ J1[c1[i]]+=0.5; }
/**derive J2 for second order**/
for(i=0;i<Nc2;i++)
{
J2[c2[i][0]][c2[i][1]]+=0.25;
J2[c2[i][1]][c2[i][0]]+=0.25;
J1[c2[i][1]]+=-0.25;
J1[c2[i][0]]+=0.25;
}
/**derive J3 for third order**/
for(i=0;i<Nc3;i++)
{
J3[c3[i][0]][c3[i][1]][c3[i][2]]+=0.0625;
J3[c3[i][0]][c3[i][2]][c3[i][1]]+=0.0625;
J3[c3[i][1]][c3[i][2]][c3[i][0]]+=0.0625;
J3[c3[i][2]][c3[i][1]][c3[i][0]]+=0.0625;
J3[c3[i][2]][c3[i][0]][c3[i][1]]+=0.0625;
J3[c3[i][1]][c3[i][0]][c3[i][2]]+=0.0625;
J2[c3[i][1]][c3[i][0]]+=0.125;
J2[c3[i][0]][c3[i][1]]+=0.125;
J2[c3[i][1]][c3[i][2]]+=-0.125;
J2[c3[i][2]][c3[i][1]]+=-0.125;
J2[c3[i][0]][c3[i][2]]+=0.125;
J2[c3[i][2]][c3[i][0]]+=0.125;
J1[c3[i][2]]+=-0.125;
J1[c3[i][0]]+=0.125;
J1[c3[i][1]]+=-0.125;
}
/**loop to generate random numbers**/
ievn=0;
for(iev=0;iev<NH;iev++)
{ sth:
ievn++;
for(j=0;j<NN;j++)
{ if((float)rand()<(float)RAND_MAX/2.0)
NS[j]=-1;
else NS[j]=+1; }
/**checking clauses satisfaction by events**/
/**for first order**/
for(k=0;k<Nc1;k++)
{ if(NS[c1[k]]==-1) goto sth; }
/**for second order**/
for(k=0;k<Nc2;k++)
{ if(NS[c2[k][0]]==-1 && NS[c2[k][1]]==+1) goto sth; }
/**for third order**/
for(k=0;k<Nc3;k++)
{ if(NS[c3[k][0]]==-1 && NS[c3[k][1]]==+1 && NS[c3[k][2]]==+1) goto sth; }
}
/**looping number of trial**/
for(p=0;p<NT;p++)
{
/**initialize random starting point**/
for(m=0;m<NN;m++)
{ if((float)rand()<(float)RAND_MAX/2.0)
NS[m]=-1;
else NS[m]=+1;
NI[m]=NS[m]; }
/**looping energy relaxation**/
nrelax=0;
nchange=0;
do { /**calculating h**/
change=FALSE;
for(i=0;i<NN;i++)
{ j=((float)NN)*(((float)rand()/(float)RAND_MAX));
h[j]=0;
h[j]+=J1[j];
for(k=0;k<NN;k++)
{ h[j]+=J2[j][k]*NS[k];
for(l=0;l<NN;l++)
{ h[j]+=J3[j][k][l]*NS[k]*NS[l]; }
}
/**McCulloch Pitts updating rule**/
Nbef[j]=NS[j];
if(h[j]>=0) NS[j]=1;
else NS[j]=-1;
if(NS[j]!=Nbef[j]) change=TRUE;
}
if(change==TRUE) nchange=0;
else nchange+=1;
nrelax+=1;
}
while(nchange<NCHCHECK);
/**calculating final state**/
for(m=0;m<NN;m++) { NF[m]=NS[m]; }
/**energy calculation**/
Erg1=0; Erg2=0; Erg3=0;
E1=0; E2=0; E3=0;
for(l=0;l<NN;l++)
{ for(j=0;j<NN;j++)
{ for(k=0;k<NN;k++)
{ E1+=J3[l][j][k]*NS[l]*NS[j]*NS[k];
Erg1=-E1/3;
}
}
}
for(l=0;l<NN;l++)
{ for(j=0;j<NN;j++)
{ E2+=J2[l][j]*NS[l]*NS[j];
Erg2=-E2/2;
Erg2+=Erg1;
}
}
for(l=0;l<NN;l++)
{ E3+=J1[l]*NS[1];
Erg3=-E3;
Erg3+=Erg2;
}
/**calculating global and local minimum**/
if(fabs(ES-Erg3)<=TOL)
{ z+=1;
for(m=0;m<NN;m++) HDG+=0.5*(1-NI[m]*NF[m]);
}
if(fabs(ES-Erg3)>TOL)
{ y+=1;
for(m=0;m<NN;m++) HDL+=0.5*(1-NI[m]*NF[m]);
}
/**calculating EM**/
EM+=Erg3*Erg3;
/**calculating average energy**/
Eav+=Erg3/(float)NT;
/**calculating nR**/
nR+=nrelax*nrelax;
/**calculating relaxation**/
nrelaxM+=(nrelax-NCHCHECK)/((float)NT);
}
}
/**calculating average energy for all the combination**/
EavM+=Eav/(float)COMBMAX;
zM+=(float)z/((float)NT*(float)COMBMAX);
yM+=(float)y/((float)NT*(float)COMBMAX);
EAM+=EM/((float)NT*(float)COMBMAX);
nrelaxMM+=nrelaxM/(float)COMBMAX;
HDGlobal+=HDG/((float)NT*(float)COMBMAX*z);
HDLocal+= HDL/((float)NT*(float)COMBMAX*y);
NRE+=nR/((float)NT*(float)COMBMAX);
/**varians**/
varians=(float)EAM-pow(EavM,2);
/**standard deviation**/
sp=sqrt(varians);
/**calculating varians for relax**/
variansR=(float)NRE-pow(nrelaxMM,2);
/**standard deviation for relax**/
spR=sqrt(variansR);
/**calculating hamming distance**/
if(y==0)
Hamming_Distance+=HDGlobal;
else
Hamming_Distance+=HDGlobal+HDLocal;
/**deviation for hamming distance**/
devHD=sqrt(Hamming_Distance-(Hamming_Distance* Hamming_Distance));
/**deviation for global**/
devG=sqrt(zM-(zM*zM));
/**deviation for HDG**/
devHG=sqrt(HDGlobal-(HDGlobal*HDGlobal));
/**deviation for HDL**/
devHL=sqrt(HDLocal-(HDLocal* HDLocal));
/**printing out clauses(one set only)**/
printf("\n Clauses:\n\n");
fprintf(outf,"\n Clauses:\n\n");
for(i=0;i<Nc1;i++)
{ printf("c1[%d] : %d<-.\n",i,c1[i]);
fprintf(outf,"c1[%d] : %d<-.\n",i,c1[i]);
}
printf("\n");
fprintf(outf,"\n");
for(i=0;i<Nc2;i++)
{ printf("c2[%d] : %d<-%d.\n",i,c2[i][0],c2[i][1]);
fprintf(outf, "c2[%d] : %d<-%d.\n",i,c2[i][0],c2[i][1]);
}
for(i=0;i<Nc3;i++)
{ printf("c3[%d] : %d<-%d,%d.\n",i,c3[i][0],c3[i][1],c3[i][2]);
fprintf(outf, "c3[%d] : %d<-%d,%d.\n",i,c3[i][0],c3[i][1],c3[i][2]);
}
/**for synaptic weight**/
printf("for synaptic weight\n\n");
fprintf(outf,"for synaptic weight\n\n");
printf("\n zM devG EavM sp Hamming_Distance devHD HDGlobal devHG HDLocal devHL nrelax spR\n");
printf("%f %f %f %f %f %f %f %f %f %f %f %f\n",zM,devG,EavM,sp,Hamming_Distance,devHD,HDGlobal,devHG,HDLocal,devHL,nrelax,spR);
fprintf(outf, "\n zM devG EavM sp Hamming_Distance devHD HDGlobal devHG HDLocal devHL nrelax spR\n");
fprintf(outf, "%f %f %f %f %f %f %f %f %f %f %f %f\n",zM,devG,EavM,sp,Hamming_Distance,devHD,HDGlobal,devHG,HDLocal,devHL,nrelax,spR);
fclose(outf);
}
它给出了运行时检查失败#2 - 变量“h”周围的堆栈已损坏。有人可以帮助我吗?
“horn.exe”:已加载“C:\Users\ACER\Desktop\mcm2\Documents\Visual Studio 2010\Projects\minor\Debug\horn.exe”,已加载符号。“horn.exe”:已加载“C:\Windows\SysWOW64\ntdll.dll”,无法找到或打开 PDB 文件“horn.exe”:已加载“C:\Windows\SysWOW64\kernel32.dll”,无法找到或打开 PDB 文件“horn.exe”:已加载“C:\Windows\SysWOW64\KernelBase.dll”,无法找到或打开 PDB 文件“horn.exe”:已加载“C:\Windows\SysWOW64\msvcr100d.dll”,已加载符号。运行时检查失败#2 - 变量“h”周围的堆栈已损坏。程序“[4144]minor.exe: Native”已退出,代码为 0 (0x0)。
这是完整的代码。抱歉,如果我引起任何人不必要的争论..
最佳答案
您可能正在访问 float h[NN]
数组,其索引超出范围(正确的索引值为 0, 1,2,3...,(NN-1)
),因此您正在破坏 h
周围的堆栈。
您可能需要仔细检查用于访问数组的索引值。
关于c - 运行时检查失败 #2 - 变量 'h' 周围的堆栈已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23426703/
循环不起作用,我想就是这样,也许 list[i].removeChild(list[i]);我想删除 lt 列表类。 function removeDone () { var lista = do
我正在制作一个java程序,它能够使用他们的api将(主要是mp4)文件上传到主机openload.co,你可以找到here . 我的程序可以上传 mp4 视频,但无法播放。当我下载以前上传的视频并通
我在服务器端使用 jquery-file-upload 和 Python-Flask。每当我上传 100mb 以上的大文件时,上传的版本比原始版本稍大并且无法打开(已损坏)。我对 10mb block
已关闭。这个问题是 off-topic 。目前不接受答案。 想要改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 已关闭10 年前。 Improve th
我有一个按钮,它是我的 Magento 主题中提供的代码的一部分,根据日期/时间戳,我没有无意中编辑它。我确信它在某些时候是有效的,但回顾一下上周我的源代码控制,我似乎无法找出哪里出了问题。 这是按钮
我有一个将一些数据写入新文件的简单函数。它可以工作,并且文件已写入,但在 MSVS Express 2013 中调试时出现上述错误。 void writeSpecToFile(const char *
我试图包含我的应用程序的国际化,并且仅出于测试目的,我在文件 Localized.string 中添加了一行简单的代码。 这是我的整个文件: "Test locale" = "Test locale"
这是代码: console.log(234, document.links); console.log(235, document.links.length); 输出显示数组中有值,但返回 0。 这是
我在尝试使用 ASP.NET MVC3 的 Ajax.BeginForm 方法时遇到了一个奇怪的问题。表单通过正确的操作属性在页面上正确呈现。但是,当提交表单时,“OnFailure”事件返回“Not
我是 10 年级的学生,我在 APCS 的最终项目是制作一个游戏/应用程序并提交代码、运行视频和书面回复。我的问题是整个类(class)都是使用 Code.org 的 AppLab 进行教学的,并且
我正在使用带有 Microsoft auth 的 azure webapp。几个月来一直工作良好。 然而今天它坏了。login.microsoftonline.com 页面因 css 和 js 加载错
我遇到了一个奇怪的问题。直到几分钟前才出现问题。在不对 less/css 文件进行任何更改的情况下(从不),引导按钮和导航栏标题的外观突然发生了变化。在第一张图片上,您可以看到按钮应该是什么样子,在第
我正在开发一个用于核心转储处理的工具。使用 sysctl 我将其设置为获取工具输入的核心转储。一切都运转良好。但今天我面临着(我不知道为什么)coredump 损坏的情况。当我将常规文件设置为核心转储
我对一个我继承但并非最初创建的网站感到非常头疼。几乎所有的样式都是通过一个样式表完成的。问题是自动调整大小不再有效,所有页面现在都以指定的最小宽度显示。随着时间的推移,各种不同的人添加了它,CSS 变
我正在尝试使用 AngularJS 甚至纯 JavaScript 将 HTML 表格转换为 XLSX。 当我使用下面的方法转换为 XLS 时,它的下载正常并且 XLS 文件正在打开。 var blob
需要根帮助导致 vtable 损坏问题(不确定这是否正在发生)。这是代码的非常简化的版本。 class CBase { public: CBase() virtual ~CBase()
一段时间未在 Play 商店中更新我的应用程序后,我尝试使用我的 keystore 对我的一个 APK 进行签名,结果发现 keystore 和别名密码不再起作用。我可以使用此要点重置的 keysto
已安装 XCode 6在 Mavericks .它不运行。将操作系统更新为 Yosemite 10.10 :现在 Xcode.app(通过 *.dmg 安装)启动失败并显示错误消息 “Xcode” i
我有一个在我的应用程序中使用的 plist 文件,我可以对其进行本地化,因此我在我的项目中得到两个条目,一个用于英语,一个用于西类牙语,当我编译运行该应用程序时,它可以工作,但当然在这个阶段内容是相同
我相信这是来自 androidsnippets.org 的 fragment - 为什么它在 Android 2.3 上不起作用?如何解决? 错误 03-05 23:19:17.479: WARN/S
我是一名优秀的程序员,十分优秀!