アットウィキロゴ

非線形jp;

var ux=new Array();
var wx=new Array();
var v=new Array();
var gotoc=new Array();
var gotob=new Array();
var gotoy=new Array();
var ep;
 
function non(){
 
var s,s1,s2,b1;
var c1,y1,u1;
 
for(s=1;s<101;s++){
ux[s]=new Array();
wx[s]=new Array();
v[s]=new Array();
gotoc[s]=new Array();
gotoy[s]=new Array();
gotob[s]=new Array();
}
 
 
for(s=1;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s]);
setu(s,s1,s2,u1);
}
}
}
 
for(s=1;s<100;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
c1=c[s]+s1;
y1=y[s]+s2;
u1=up(c1,y1,th[s+1]);
setw(s,s1,s2,u1);
}
}
}
 
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=-999;
setv(s,s1,s2,b1,u1);
}
}
}
 
 
s=1;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
b1=s2-s1;
u1=getu(s,s1,s2);
setv(s,s1,s2,b1,u1);
}
}
 
 
 
var z;
var b2,sxs1,sxs2,sx1,sx2;
var maxv,w1;
 
for(s=2;s<101;s++){
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
for(b1=-25;b1<26;b1++){
u1=getu(s,s1,s2);
b2=b1+s1-s2;
z=0;
if(b2>25)z=100;
if(b2<-25)z=100;
if(z>50)b2=0;
maxv=-999;
sxs1=0;
sxs2=0;
for(sx1=-5;sx1<6;sx1++){
for(sx2=-5;sx2<6;sx2++){
v1=u1+getv(s-1,sx1,sx2,b2);
w1=getw(s-1,sx1,sx2);
if(w1>u1)v1=-999;
if(v1>maxv)sxs1=sx1;
if(v1>maxv)sxs2=sx2;
if(v1>maxv)maxv=v1;
}
}
if(z>50)maxv=-999;
setv(s,s1,s2,b1,maxv);
setc(s,s1,s2,b1,sxs1);
sety(s,s1,s2,b1,sxs2);
setb(s,s1,s2,b1,b2);
}
}
}
}
 
 
 
s=100;
maxv=-999;
sx1=0;
sx2=0;
for(s1=-5;s1<6;s1++){
for(s2=-5;s2<6;s2++){
v1=getv(s,s1,s2,0);
if(v1>maxv)sx1=s1;
if(v1>maxv)sx2=s2;
if(v1>maxv)maxv=v1;
}
}
 
$("#memo").text(maxv); 
 
var opc=new Array();
var opy=new Array();
 
opc[100]=sx1;
opy[100]=sx2;
 
 
b1=0;
for(t=1;t<100;t++){
s=101-t;
sx1=opc[s];
sx2=opy[s];
opc[s-1]=getc(s,sx1,sx2,b1);
opy[s-1]=gety(s,sx1,sx2,b1);
b1=getb(s,sx1,sx2,b1);
}
 
 
for(s=1;s<101;s++){
c[s]=c[s]+opc[s];
y[s]=y[s]+opy[s];
}
 
ep=0;
for(s=1;s<101;s++){
ep=ep+opc[s]*opc[s]+opy[s]*opy[s];
}
 
 
 
 
}
 
function getc(s,s1,s2,b1){
 
var n1,m1;
var u1;
 
n1=getvnumber(s1,s2,b1);
 
m1=gotoc[s][n1];
 
return m1;
}
 
function gety(s,s1,s2,b1){
 
var n1,m1;
var u1;
 
n1=getvnumber(s1,s2,b1);
 
m1=gotoy[s][n1];
 
return m1;
}
 
function getb(s,s1,s2,b1){
 
var n1,m1;
var u1;
 
n1=getvnumber(s1,s2,b1);
 
m1=gotob[s][n1];
 
return m1;
}
 
 
 
 
 
function setc(s,s1,s2,b1,sx1){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotoc[s][n1]=sx1;
 
}
 
function sety(s,s1,s2,b1,sx2){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotoy[s][n1]=sx2;
 
}
 
 
 
function setb(s,s1,s2,b1,b2){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
gotob[s][n1]=b2;
 
}
 
 
 
 
function getvnumber(s1,s2,b1){
 
var n1;
n1=11*50*(s1+5)+50*(s2+5)+(b1+25);
return n1;
}
 
 
function setv(s,s1,s2,b1,v1){
 
var n1;
n1=getvnumber(s1,s2,b1);
 
v[s][n1]=v1;
 
}
 
function getv(s,s1,s2,b1){
 
var n1;
var u1;
 
n1=getvnumber(s1,s2,b1);
 
u1=v[s][n1];
 
return u1;
}
 
 
function up(c1,y1,th1){
 
var u2,c2,x2;
var z;
 
z=0;
 
c2=c1*h;
x2=1-y1/th1;
 
if(c2<0.0001)z=100;
if(x2<0.0001)z=100;
if(x2>1)z=100;
 
if(z>50)c2=0.5;
if(z>50)x2=0.5;
 
u2=Math.log(c2)+Math.log(x2);
 
if(z>50)u2=-999;
 
 
return u2;
}
 
function getu(s,s1,s2){
 
var n1;
var u1; 
n1=getnumber(s1,s2);
u1=ux[s][n1]; 
return u1;
}
 
function getw(s,s1,s2){
 
var n1;
var u1; 
n1=getnumber(s1,s2);
u1=wx[s][n1]; 
return u1;
}
function getnumber(s1,s2){
var n1;
n1=11*(s1+5)+(s2+5); 
return n1;
}
 
function setu(s,s1,s2,u1){
 
var n1;
n1=getnumber(s1,s2);
 
ux[s][n1]=u1;
 
}
 
function setw(s,s1,s2,u1){
 
var n1;
n1=getnumber(s1,s2);
wx[s][n1]=u1;
}
 
最終更新:2013年12月29日 21:25