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.