The following shows one possible scilab implementation of a SECoS algorithm. It will be further developed during August 2009.
//************************************************************** // File: SECoS.sce // Authors: Miguel Ayala & Gerd Doeben-Henisch // Version: June-27, 2009 //****************************************************************** // Function: Implements the SECoS-Type of ANN originally described by Watts and Kasabov // //Some common constants //Conversion of radiants into grade grad=(2*%pi)/360 //Conversion of radiants into degrees igrad=360/(2*%pi) INP = [1 2; 1 3; 2 2; 2 3; 4 4; 4 5; 5 4; 5 5; 6 1; 6 2; 7 1; 7 2] //UP = [1 0 0 0 0] //RIGHT = [0 0 1 0 0] //NOMOVE = [0 0 0 0 1] //DOWN = [0 0 0 1 0] //LEFT = [0 1 0 0 0] //INPM=[4 4 NOMOVE; 4 5 UP; 5 5 RIGHT; 5 5 NOMOVE; 6 5 RIGHT; 6 4 DOWN; 6 3 DOWN; 5 3 LEFT; 5 3 NOMOVE; 4 3 LEFT; 3 3 LEFT; 3 4 UP; 4 4 RIGHT; 3 4 LEFT; 3 5 UP; 3 6 UP; 4 6 RIGHT] //****************************************************************** // Application with 2x2 letters // TESTRUN 1 LETTERS=[0 0 0 0; 1 0 0 0; 1 1 0 0; 1 0 1 0; 1 0 0 1; 0 1 0 0; 0 1 0 1; 0 1 1 0; 0 0 1 0; 0 0 1 1; 0 0 0 1; 1 1 1 0; 1 1 0 1;1 0 1 1; 0 1 1 1; 1 1 1 1] LT=LETTERS TARGETS=[1 1 0 0; 0 0 1 1;] // The targets are embedded in a training set :T1 - n-n - T1 n-n T1 n-n T1 n-n T2 - n-n - T2 n-n T2 n-n T2 n-n //This set has to be enlarged by the accompanying desired output vectors O_d // Target 1 translates into [1 0], target 2 into [0 1]; 'nothing' means [0 0 TRAINING=[1 1 0 0 1 0; 1 0 0 0 0 0 ; 1 0 1 0 0 0; 1 1 0 0 1 0; 0 1 0 0 0 0; 0 1 1 0 0 0; 1 1 0 0 1 0; 0 0 0 1 0 0; 1 1 0 1 0 0; 1 1 0 0 1 0; 0 1 1 1 0 0; 1 0 0 0 0 0; 0 0 1 1 0 1; 1 0 1 0 0 0; 0 1 0 0 0 0; 0 0 1 1 1 0; 0 1 1 0 0 0; 0 0 0 1 0 0; 0 0 1 1 0 1; 1 1 0 1 0 0; 0 1 1 1 0 0] TR=TRAINING // The targets are embedded in a test set :T1 - n-n - T2 n-n T1 n-n T2 n-n T1 - n-n - T1 n-n T2 n-n T1 n-n TEST=[1 1 0 0; 0 0 0 0; 1 0 0 1; 0 0 1 1; 0 1 0 1; 0 0 1 0; 1 1 0 0; 1 1 1 0; 1 0 1 1; 0 0 1 1; 1 1 1 1; 0 0 0 0; 1 1 0 0; 1 0 0 1; 0 1 0 1; 0 0 1 1; 0 0 1 0; 1 1 1 0; 1 1 0 0; 1 0 1 1; 1 1 1 1; 0 0 1 1;] //*************************************************** //Function to compute the sum of a vector v and the i-th row of a matrix M function[M]=vecAddMi(M,i,v) //Test whether the length of v is equal to the columns of M [r,c]=size(M); if l <> c then error('SIZE of VECTOR DOES NOT MATCH MATRIX'), else for j=1:c, M(i,j) = M(i,j)+v(j), end end endfunction //*************************************************** //Function to compute the difference of a vector v and the i-th row of a matrix M function[M]=vecSubMi(M,i,v) //Test whether the length of v is equal to the columns of M l=length(v); [r,c]=size(M); if l <> c then error('SIZE of VECTOR DOES NOT MATCH MATRIX'), else for j=1:c, M(i,j) = M(i,j)-v(j), end end endfunction //*************************************************** //Function to compute the product of two vectors v,w function[u]=vecprod(v,w) lv=length(v); lw=length(w); u=0 if lv <> lw then error('DIFFERENT LENGTH OF VECTORS'); else for i=1:lv, u=u + (v(i)*w(i)); end end endfunction //*************************************************** //Function to compute the projection of a vector v onto a line with angle theta //angle in degree function[y]=vecproj(v,t) //Convert radiants into degree t=t/igrad y=norm(v)*cos(t) endfunction //*************************************************** //Function to compute the projection of a vector v onto a line with line w function[y]=vecprojL(v,w) y=vecprod(v,w)/norm(w) endfunction //************************************************************* //Function to compute the angle of two vectors v,w in 360 degree //Vectors v,w are column or row vectors function[y]=cosvec(v,w) y=vecprod(v,w)/(norm(v)*norm(w)) //The result in y is the cos-value. We need the invers of this y=acos(y) //The inverse is given in radiants. We want the conversion to degrees y=y/grad endfunction //End of function cosvect ****************************************** //******************************************************* //Function to multiply a vector v with a quadratic matrix M generating a vector u function[u]=vmprod(v,M) [r,c]=size(M) lv=length(v) u=zeros(1,lv) if (r <> lv) then error('sizes of vector and matrix do not match') else for i=1:c //Following the columns of matrix for j=1:r //Working through all elements of v and rows of M u(j)=u(j) + (v(i) *M(i,j)) end end end endfunction //******************************************************* //Function to multiply a vector v with a selectable matrix M generating a vector u function[u]=vmprod2(M,v) [r,c]=size(M) lv=length(v) u=zeros(1,lv) if (r <> lv) then error('sizes of vector and matrix do not match') else for j=1:r //Following the rows of matrix for i=1:c //Working through all elements of v and columns of M u(j)=u(j) + (v(i) *M(j,i)) end end end endfunction //**************************************************** //Funcion to generate a m x n - Matrix with the scalar c function[C] = matrixC(r,c,a) C=[] //New Matrix for i=1:c; for j=1:r; C(i,j)=a; end; end //Generate new matrix with scalar a C endfunction //**************************************************** //Funcion to generate a m x n - Matrix with the scalar c out of a given matrix M function[C] = matrixCC(M,a) C=[] //New Matrix [c,r]=size(M) //Get dimension of given matrix M by columns and rows for i=1:r, for j=1:c, C(i,j)=a, end, end //Generate new matrix with scalar a endfunction //************************************************************ // Normalize the input 2D-Input-Vektors // Take INP as input and generate INP2 as output function [INP2]=doNorm(INP) [r,c] = size(INP) INP2=[] printf('Length of Input Vector: %d\n',r) //Looping through the input for i=1:r v=[INP(i,1) INP(i,2)] printf('OLD coordinates: %d %d\n',v(1),v(2)) printf('NORM of vector: %f\n',norm(v)) v=v/norm(v) printf('NEW coordinates: %f %f\n',v(1),v(2)) INP2(i,1)=v(1) INP2(i,2)=v(2) end endfunction function [Kreis]=kreisBerechnen(kreisVektor,kreisVektor) [r,c] = size(kreisVektor) for i=1:r v=[kreisVektor(i,1) kreisVektor(i,2)] end endfunction //************************************************************ // Normalize the input 2D-Input-Vektors with a UNIFORM norm // Take INP as input and generate INP3 as output function [INP3]=doNormU(INP) [r,c] = size(INP) Maxnorm=0 INP3=[] printf('Length of Input Vector: %d\n',r) //Looping through the input to find maximal norm for i=1:r v=[INP(i,1) INP(i,2)] if norm(v) > Maxnorm then Maxnorm=norm(v) printf('NORM of vector: %f %f\n',norm(v), Maxnorm) end end //Looping through the input to normalize uniformly for i=1:r v=[INP(i,1) INP(i,2)] printf('OLD coordinates: %d %d\n',v(1),v(2)) v=v/Maxnorm printf('NEW coordinates: %f %f\n',v(1),v(2)) INP3(i,1)=v(1) INP3(i,2)=v(2) end endfunction //*******************************************************+ // Computes the 1-distance between two vectors x,y function [d]=oneDistance(x,y) lx=length(x), ly=length(y) if lx <> ly then error('SIZE of VECTORS DO NOT MATCH'), else s=0 for i=1:lx s=s+abs(x(i)-y(i)), end d=s end endfunction //*******************************************************+ // Computes the normalized manhattan distance between two vectors x,y function [d]=normManhattan(x,y) lx=length(x), ly=length(y) if lx <> ly then error('SIZE of VECTORS DO NOT MATCH'), else s=0 for i=1:lx s=s+abs(x(i)-y(i)), end d=s/lx end endfunction //*******************************************************+ // Computes the euclidean distance between two vectors x,y function [d]=euclideanDistance(x,y) lx=length(x), ly=length(y) if lx <> ly then error('SIZE of VECTORS DO NOT MATCH'), else s=0 for i=1:lx s=s+abs(x(i)-y(i))^2, end d=sqrt(s) end endfunction //*******************************************************+ // Computes the normalized euclidean distance between two vectors x,y function [d]=normEuclidean(x,y) lx=length(x), ly=length(y) if lx <> ly then error('SIZE of VECTORS DO NOT MATCH'), else s=0 for i=1:lx s=s+abs(x(i)-y(i))^2, end d=sqrt(s)/sqrt(lx) end endfunction //*******************************************************+ // Simulates the perception of an artificial consciousness // by taking an input vector INPM and processing these // values in a way which enables the processing through a SECoS // The values of the vectors must not be normalized // function [INP,Od]=perception(INPM) lx=length(x), ly=length(y) if lx <> ly then error('SIZE of VECTORS DO NOT MATCH'), else s=0 for i=1:lx s=s+abs(x(i)-y(i))^2, end d=sqrt(s/lx) end endfunction //*******************************************************+ // Output Check // measuring the grade of distinction between O_c and O_d // O is a matrix with all possible desired Output vectors function [OD]=distinctionOcOd(Oc,Od) [r,c]=size(Oc) [r2,c2]=size(Od) Oc Od n = 1 for i=1:r, for j=1:r2, v=Oc([i],[:]), w=Od([j],[:]), //forming two vectors OD(n) = normEuclidean(w,v), printf('Oc %d Od %d = Dist %f\n',i,j,OD(n)), n=n+1 end, end OD endfunction //*************************************************** //Evolving clusterin Method (ECM) (cf. Kasabov 2002) //Takes the vectors x from an INPUT stream and maps these vectors into a set of categories CAT //The vectors of the input stream can be uniformly be normalized with the function 'INP3=doNormU(INP)' //The category threshold 'threshold' has to be set apriori. This value can influence the results //very strongly! //**************************************************************** // Check distance for new input // // I := Input vector // EV := Evolving layer with Activity and Distance // WI := Input weight matrix // S := Sensivity threshold // Pos := Position of the best fitting evolving neuron function [YESNO,EV,Pos]=checkDistance(I,EV, WI,S) printf('You have to check the distances.\n'); [r,c] = size(EV) lx = length(I) // For all WI check I and write Distance into EV(:,2) and compute Activity into EV(1,:) for i=1:r, printf('Searching Distance at evolving neuron No. %d = ', i); for j=1:lx, v(j) = I(j), w(j) =WI(i,j), end EV(i,2) = normEuclidean(v,w) //Compute distance printf('normEuclidean at %d is %1.4f ', i, EV(i,2)); EV(i,1) = 1 - EV(i,2) //Compute Activity printf('Activity is %1.4f\n', EV(i,1)); end // Find Max(Activity) printf('Searching MaxActivity \n'); maxAct = 0, Pos = 0 for i=1:r, if (maxAct < EV(i,1)) then maxAct = EV(i,1), Pos = i, printf('Searching MaxActivity at evolving neuron No. %d = %1.4f\n', i, EV(i,1)); end end printf('Final MaxActivity at evolving neuron No. %d = %1.4f\n', Pos, EV(Pos,1)); // Check S if (maxAct < S) then YESNO = 1 else YESNO = 0 end endfunction //**************************************************************** // Add a the first neuron to the evolving layer // // I := Input vector // Od := Desired output vector // pos := Position in EV, where to insert new item // WI := Input weight matrix // WO:= Output weight matrix // S := Sensivity threshold function [EV,WI,WO, EVPOS]=firstEV(I,Od,EV,WI,WO) printf('You have to add the first evolving neuron.\n'); EVPOS = 1 //First position //Insert input weights printf(' WI = ') for i=1:length(I) WI(EVPOS,i) = I(i) printf(' %1.1f ',WI(EVPOS,i)) end //Insert output weights printf(' WO = ') for i=1:length(Od) WO(EVPOS,i) = Od(i); printf(' %1.1f ',WO(EVPOS,i)) end // Compute Activity stored in EV // Because the weights are in the beginning identical with the input vector Activity = 1 printf(' EV at position ') EV(EVPOS,1) = 1; EV(EVPOS,2) = 0 printf(' %1.1f ',EV(EVPOS)) printf('\n ') endfunction //**************************************************************** // Add a another new neuron to the evolving layer // // I := Input vector // Od := Desired output vector // pos := Position in EV, where to insert new item // WI := Input weight matrix // WO:= Output weight matrix // S := Sensivity threshold function [EV,WI,WO,EVPOS]=addEV(I,Od,EV,WI,WO,EVPOS) printf('You have to add another evolving neuron.\n'); // Find next free position [r,c] = size(EV) EVPOS=EVPOS+1 pos = EVPOS//First position printf('Insert new EV Element at %d\n', pos) //Insert input weights printf(' WI = ') for i=1:length(I) WI(pos,i) = I(i) printf(' %1.1f ',WI(pos,i)) end //Insert output weights printf(' WO = ') for i=1:length(Od) WO(pos,i) = Od(i); printf(' %1.1f ',WO(pos,i)) end // Compute Activity stored in EV // Because the weights are in the beginning identical with the input vector Activity = 1 printf(' EV = ') EV(pos,1) = 1 , EV(pos,2) = 0 printf(' Activity : %1.1f Distance : %1.1f\n ',EV(pos,1), EV(pos,2)) endfunction //**************************************************************** // Update a new neuron of the evolving layer // // I := Input vector // Oc := Output vector // Od := Desired output vector // pos := Position in EV, where to insert new item // WI := Input weight matrix // WO:= Output weight matrix // S := Sensivity threshold // eta1 := Learning rate No.1 // eta2 := Learning rate No.2 // EVPOS := Actual number of evolving neurons function [EV,WI,Oc,WO,Pos,YESNO]=updateEV(I,Oc,Od,EV,WI,WO,Pos,EVPOS, eta1,eta2, AoThr,Eo) printf('Update an evolving neuron\n') printf('First clarify whether the output error is bigger than allowed\n') //Structure of Oc is: <netSum, Ao, Eo> [r,c]=size(Oc) for j=1:r //Number of output neurons // Compute netsum of all inputs of O_c_i Oc(j,1) =0 for i=1:EVPOS //Number of existing evolving neurons as inputs Oc(j,1) = Oc(j,1) + (EV(i,1) * WO(i,j)) end printf('NetSum of output neuron %d : %1.2f \n',j,Oc(j,1)) //Comput output neuron activation Ao Ao = 1/(1+exp(-Oc(j,1))) Oc(j,2) = Ao if (Oc(j,2) < AoThr) then Oc(j,2) = 1 else Oc(j,2) = 0 end printf('Activation of output neuron %d before Threshold %1.2f after Threshold %1.2f \n',j,Ao,Oc(j,2)) // Compute output neuron error Eo Oc(j,3) =abs(Od(j) - Oc(j,2)) printf('Output Error Eo of output neuron %d is %1.2f \n',j,Oc(j,3)) end//End of output neurons // Checking output error oc = Oc([1:1:r],[3]) //Taking all Output errors from Oc if(normEuclidean(Od,oc) > Eo) then YESNO = 1, printf('Output Error Eo too big!\n\n') else YESNO = 0, printf('Output Error Eo is Zero!\n\n') // Update outgoing weights WO of all sending evolving neurons to Oc_j for j=1:r //all output neurons for i=1:EVPOS //all evolving neurons WO(i,j) = WO(i,j) + (eta2*EV(i,1)*Oc(j,3)) printf('Update of evolving neuron %d with outgoing weight %1.2f to output neuron %d \n',i,WO(i,j),j) end //End of evolving neurons sending outgoing weights end //End of output neurons //Else is still 'open' for updating the input weights lx=length(I) // Update incoming weights // 1. Compute new values wiOld = WI([Pos],[1:1:n]) wiNew = eta1 * (I - wiOld) wiNew = wiOld + wiNew printf('Old Values : '); for i=1:lx printf('%d ',wiOld(i)); end printf(' ----- New Values : '); for i=1:lx printf('%d ',wiNew(i)); end // 2. Write new values into WI for i=1:lx WI(Pos,i) = wiNew(i) end printf(' ----- New Values : '); for i=1:lx printf('%d ',WI(Pos,i)); end printf(' \n'); printf('You have updated an evolving neuron at position %d\n',Pos) end //Of IF-check whether Eo is too big endfunction //*************************************************** //Simple Evolving Connectionist Systems (SECoS)(cf.Watts/Kasabov 2000), Watts/Kasabov 2002), Watts (2009) //Takes the vectors x from an INPUT stream, maps these vectors into a set of categories CAT, //(similar to the way how ECM works) and associates subsets of these categories //with some labels LAB. The associations are induced by a training process which delivers //input vectors from INP together with desired output vectors OUT_d //The vectors of the input stream must NOT be normalized // Input is a matrix wit m-many columns where the first n-many are the coordinates of a point in // an n-dimensional space and the m-n-many other columns are representing elements of a desired // output vector. //*************************************************** // Take a training set with input vector I and desired output vector Od // put the next item into a SECoS // Get the calculated output values Oc // and show the relation Oc - Od - Diff //*************************************************************************** // n := number columns for input vector; rest is desired output vector // E := output Error; for the 2x2 case we assume E=0.5 // S := sensivity threshold S_thr; we start always with 0.5 //*************************************************************************** // Command line start: [EV,WI,WO,Oc]=training(TR,4,0.5) function [EV,WI,WO,Oc]=training(TR,n, E,S) [r,c]=size(TR) m=c-n //Number of input elements n and number of output elements m EV = [] //Setting evolving layer to zero WI = [] //Setting input weight matrix to zero WO = [] //Setting output weight matrix to zero S = 0.4 //Setting sensivity threshold eta1 = 1 //Learning rate No.1 eta2 = 1 //Learning rate No.2 EVPOS = 0 //Flag of actual last entry in EV I = linspace(0,0,n) //Empty input vector Oc = zeros(c-n,3) //Empty output matrix with <netSum, Ao, Eo> Od = linspace(0,0,c-n) //Empty desired output vector AoThr = 0.75 //Activation threshold for output neurons in case of sigmoidal function Eo = 0.7 //Output error ||Od - Oc_Ao|| , MaxOutput is 0.73! printf('PARAMETER: Sensivity %1.2f eta1 %1.2f eta2 %1.2f AoThr %1.2f Eo %1.2f\n ',S,eta1,eta2, AoThr,Eo ) printf('----------------------------------------------------------------------------------------------------------------------------------------\n' ) for j=1:r, //Main loop for training printf('Main Loop Index %d = \n ',j ) printf('----------------------------------------------------------------------------------------------------------------------------------------\n' ) I = TR([j],[1:1:n]) printf('Input Vector I = ' ) for i=1:n, //Loop to built input vector printf(' %1.1f ',I(i)) end printf('\n ') Od = TR([j],[n+1:1:c]) printf('Desired Output Vector Od %d = ',j ) for i=1:m printf(' %1.1f ',Od(i)) end printf('\n\n ') // Checking new input vector I whether it fits or whether it is new // First: Checking whether evolving layer EV is empty // I := Input vector // Od := Desired output vector // pos := Position in EV, where to insert new item // WI := Input weight matrix // WO:= Output weight matrix // S := Sensivity threshold [rev, cev] = size(EV) if(rev == 0) then pos=1, [EV,WI,WO,EVPOS]=firstEV(I,Od,EV,WI,WO) else // Second: Checking whether activity is below sensivity threshold S [YESNO,EV,Pos]=checkDistance(I,EV,WI,S) if (YESNO == 1) then [EV,WI,WO,EVPOS]=addEV(I,Od,EV,WI,WO,EVPOS) else [EV,WI,Oc,WO,Pos,YESNO]=updateEV(I,Oc,Od,EV,WI,WO,Pos,EVPOS, eta1,eta2, AoThr,Eo) if(YESNO ==1) then [EV,WI,WO,EVPOS]=addEV(I,Od,EV,WI,WO,EVPOS) end end end //End EV=[] end//End of training endfunction
A printout of the console (see below) shows, that the actual parameter setting is not fitting very well. It will be an analytcal task, to identify the necessary constraints to enable good applications.
-->[EV,WI,WO,Oc]=training(TR,4,0.5) PARAMETER: Sensivity 0.40 eta1 1.00 eta2 1.00 AoThr 0.75 Eo 0.70 ---------------------------------------------------------------------------------------------------------------------------------------- Main Loop Index 1 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 0.0 Desired Output Vector Od 1 = 1.0 0.0 You have to add the first evolving neuron. WI = 1.0 1.0 0.0 0.0 WO = 1.0 0.0 EV at position 1.0 Main Loop Index 2 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 0.0 0.0 0.0 Desired Output Vector Od 2 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Final MaxActivity at evolving neuron No. 1 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.50 Activation of output neuron 1 before Threshold 0.62 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 2 WI = 1.0 0.0 0.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 3 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 0.0 1.0 0.0 Desired Output Vector Od 3 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.2929 Searching MaxActivity at evolving neuron No. 2 = 0.5000 Final MaxActivity at evolving neuron No. 2 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.29 Activation of output neuron 1 before Threshold 0.57 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 3 WI = 1.0 0.0 1.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 4 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 0.0 Desired Output Vector Od 4 = 1.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 1.0000 Final MaxActivity at evolving neuron No. 1 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.00 Activation of output neuron 1 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 4 WI = 1.0 1.0 0.0 0.0 WO = 1.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 5 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 0.0 0.0 Desired Output Vector Od 5 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Final MaxActivity at evolving neuron No. 1 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.00 Activation of output neuron 1 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 5 WI = 0.0 1.0 0.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 6 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 1.0 0.0 Desired Output Vector Od 6 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.2929 Searching MaxActivity at evolving neuron No. 5 = 0.5000 Final MaxActivity at evolving neuron No. 5 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.59 Activation of output neuron 1 before Threshold 0.64 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 6 WI = 0.0 1.0 1.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 7 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 0.0 Desired Output Vector Od 7 = 1.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 1.0000 Final MaxActivity at evolving neuron No. 1 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 2.00 Activation of output neuron 1 before Threshold 0.88 after Threshold 0.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 7 WI = 1.0 1.0 0.0 0.0 WO = 1.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 8 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 0.0 0.0 1.0 Desired Output Vector Od 8 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.1340 Searching MaxActivity at evolving neuron No. 2 = 0.2929 Final MaxActivity at evolving neuron No. 2 = 0.2929 You have to add another evolving neuron. Insert new EV Element at 8 WI = 0.0 0.0 0.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 9 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 1.0 Desired Output Vector Od 9 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Final MaxActivity at evolving neuron No. 1 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.50 Activation of output neuron 1 before Threshold 0.82 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 9 WI = 1.0 1.0 0.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 10 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 0.0 Desired Output Vector Od 10 = 1.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 1.0000 Final MaxActivity at evolving neuron No. 1 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 3.00 Activation of output neuron 1 before Threshold 0.95 after Threshold 0.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 10 WI = 1.0 1.0 0.0 0.0 WO = 1.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 11 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 1.0 1.0 Desired Output Vector Od 11 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.1340 Searching MaxActivity at evolving neuron No. 5 = 0.2929 Searching MaxActivity at evolving neuron No. 6 = 0.5000 Final MaxActivity at evolving neuron No. 6 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.54 Activation of output neuron 1 before Threshold 0.63 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 11 WI = 0.0 1.0 1.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 12 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 0.0 0.0 0.0 Desired Output Vector Od 12 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 1.0000 Activity is 0.0000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Searching MaxActivity at evolving neuron No. 2 = 1.0000 Final MaxActivity at evolving neuron No. 2 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 2.00 Activation of output neuron 1 before Threshold 0.88 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 12 WI = 1.0 0.0 0.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 13 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 0.0 1.0 1.0 Desired Output Vector Od 13 = 0.0 1.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 2 = 0.1340 Searching MaxActivity at evolving neuron No. 3 = 0.2929 Searching MaxActivity at evolving neuron No. 8 = 0.5000 Final MaxActivity at evolving neuron No. 8 = 0.5000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.00 Activation of output neuron 1 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.00 Activation of output neuron 2 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 2 is 0.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 13 WI = 0.0 0.0 1.0 1.0 WO = 0.0 1.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 14 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 0.0 1.0 0.0 Desired Output Vector Od 14 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.2929 Searching MaxActivity at evolving neuron No. 2 = 0.5000 Searching MaxActivity at evolving neuron No. 3 = 1.0000 Final MaxActivity at evolving neuron No. 3 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.17 Activation of output neuron 1 before Threshold 0.76 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.29 Activation of output neuron 2 before Threshold 0.57 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 14 WI = 1.0 0.0 1.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 15 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 0.0 0.0 Desired Output Vector Od 15 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Searching MaxActivity at evolving neuron No. 5 = 1.0000 Final MaxActivity at evolving neuron No. 5 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 2.00 Activation of output neuron 1 before Threshold 0.88 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.13 Activation of output neuron 2 before Threshold 0.53 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 15 WI = 0.0 1.0 0.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 16 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 0.0 1.0 1.0 Desired Output Vector Od 16 = 1.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 2 = 0.1340 Searching MaxActivity at evolving neuron No. 3 = 0.2929 Searching MaxActivity at evolving neuron No. 8 = 0.5000 Searching MaxActivity at evolving neuron No. 13 = 1.0000 Final MaxActivity at evolving neuron No. 13 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 0.00 Activation of output neuron 1 before Threshold 0.50 after Threshold 1.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 1.00 Activation of output neuron 2 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 16 WI = 0.0 0.0 1.0 1.0 WO = 1.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 17 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 1.0 0.0 Desired Output Vector Od 17 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 16 = normEuclidean at 16 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.2929 Searching MaxActivity at evolving neuron No. 5 = 0.5000 Searching MaxActivity at evolving neuron No. 6 = 1.0000 Final MaxActivity at evolving neuron No. 6 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.46 Activation of output neuron 1 before Threshold 0.81 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.29 Activation of output neuron 2 before Threshold 0.57 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 17 WI = 0.0 1.0 1.0 0.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 18 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 0.0 0.0 1.0 Desired Output Vector Od 18 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 16 = normEuclidean at 16 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 17 = normEuclidean at 17 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.1340 Searching MaxActivity at evolving neuron No. 2 = 0.2929 Searching MaxActivity at evolving neuron No. 8 = 1.0000 Final MaxActivity at evolving neuron No. 8 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.04 Activation of output neuron 1 before Threshold 0.74 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 0.50 Activation of output neuron 2 before Threshold 0.62 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 18 WI = 0.0 0.0 0.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 19 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 0.0 1.0 1.0 Desired Output Vector Od 19 = 0.0 1.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 16 = normEuclidean at 16 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 17 = normEuclidean at 17 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 18 = normEuclidean at 18 is 0.5000 Activity is 0.5000 Searching MaxActivity Searching MaxActivity at evolving neuron No. 2 = 0.1340 Searching MaxActivity at evolving neuron No. 3 = 0.2929 Searching MaxActivity at evolving neuron No. 8 = 0.5000 Searching MaxActivity at evolving neuron No. 13 = 1.0000 Final MaxActivity at evolving neuron No. 13 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.00 Activation of output neuron 1 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 1.00 Activation of output neuron 2 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 2 is 0.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 19 WI = 0.0 0.0 1.0 1.0 WO = 0.0 1.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 20 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 1.0 1.0 0.0 1.0 Desired Output Vector Od 20 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 16 = normEuclidean at 16 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 17 = normEuclidean at 17 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 18 = normEuclidean at 18 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 19 = normEuclidean at 19 is 0.8660 Activity is 0.1340 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.5000 Searching MaxActivity at evolving neuron No. 9 = 1.0000 Final MaxActivity at evolving neuron No. 9 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 2.13 Activation of output neuron 1 before Threshold 0.89 after Threshold 0.00 Output Error Eo of output neuron 1 is 0.00 NetSum of output neuron 2 : 0.27 Activation of output neuron 2 before Threshold 0.57 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 20 WI = 1.0 1.0 0.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Main Loop Index 21 = ---------------------------------------------------------------------------------------------------------------------------------------- Input Vector I = 0.0 1.0 1.0 1.0 Desired Output Vector Od 21 = 0.0 0.0 You have to check the distances. Searching Distance at evolving neuron No. 1 = normEuclidean at 1 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 2 = normEuclidean at 2 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 3 = normEuclidean at 3 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 4 = normEuclidean at 4 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 5 = normEuclidean at 5 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 6 = normEuclidean at 6 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 7 = normEuclidean at 7 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 8 = normEuclidean at 8 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 9 = normEuclidean at 9 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 10 = normEuclidean at 10 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 11 = normEuclidean at 11 is 0.0000 Activity is 1.0000 Searching Distance at evolving neuron No. 12 = normEuclidean at 12 is 1.0000 Activity is 0.0000 Searching Distance at evolving neuron No. 13 = normEuclidean at 13 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 14 = normEuclidean at 14 is 0.8660 Activity is 0.1340 Searching Distance at evolving neuron No. 15 = normEuclidean at 15 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 16 = normEuclidean at 16 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 17 = normEuclidean at 17 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 18 = normEuclidean at 18 is 0.7071 Activity is 0.2929 Searching Distance at evolving neuron No. 19 = normEuclidean at 19 is 0.5000 Activity is 0.5000 Searching Distance at evolving neuron No. 20 = normEuclidean at 20 is 0.7071 Activity is 0.2929 Searching MaxActivity Searching MaxActivity at evolving neuron No. 1 = 0.1340 Searching MaxActivity at evolving neuron No. 5 = 0.2929 Searching MaxActivity at evolving neuron No. 6 = 0.5000 Searching MaxActivity at evolving neuron No. 11 = 1.0000 Final MaxActivity at evolving neuron No. 11 = 1.0000 Update an evolving neuron First clarify whether the output error is bigger than allowed NetSum of output neuron 1 : 1.04 Activation of output neuron 1 before Threshold 0.74 after Threshold 1.00 Output Error Eo of output neuron 1 is 1.00 NetSum of output neuron 2 : 1.00 Activation of output neuron 2 before Threshold 0.73 after Threshold 1.00 Output Error Eo of output neuron 2 is 1.00 Output Error Eo too big! You have to add another evolving neuron. Insert new EV Element at 21 WI = 0.0 1.0 1.0 1.0 WO = 0.0 0.0 EV = Activity : 1.0 Distance : 0.0 Oc = 1.0358984 1. 1. 1. 1. 1. WO = 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. WI = 1. 1. 0. 0. 1. 0. 0. 0. 1. 0. 1. 0. 1. 1. 0. 0. 0. 1. 0. 0. 0. 1. 1. 0. 1. 1. 0. 0. 0. 0. 0. 1. 1. 1. 0. 1. 1. 1. 0. 0. 0. 1. 1. 1. 1. 0. 0. 0. 0. 0. 1. 1. 1. 0. 1. 0. 0. 1. 0. 0. 0. 0. 1. 1. 0. 1. 1. 0. 0. 0. 0. 1. 0. 0. 1. 1. 1. 1. 0. 1. 0. 1. 1. 1. EV = 0.1339746 0.8660254 0. 1. 0.1339746 0.8660254 0.1339746 0.8660254 0.2928932 0.7071068 0.5 0.5 0.1339746 0.8660254 0.2928932 0.7071068 0.2928932 0.7071068 0.1339746 0.8660254 1. 0. 0. 1. 0.5 0.5 0.1339746 0.8660254 0.2928932 0.7071068 0.5 0.5 0.5 0.5 0.2928932 0.7071068 0.5 0.5 0.2928932 0.7071068 1. 0.