Many thanks!
Now I have a new problem:
nCols <- 8
nRows <- 10
NegFitness <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
Fitness <- c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
EightQueenSets <- matrix(0, nrow=nRows, ncol=nCols)
for (k in 1:nRows){
EQS1<- sample(1:nCols, size=nCols, replace=F)
EightQueenSets[k,]<-EQS1
}
Compute Fitness of Each EightQueen Set
Maximum Fitness = 8
Fitness = 8 - Negative Fitness
for (k in 1:nRows){
for (i in 1:nCols-1){
for (j in i+1:nCols){
if (EightQueenSets[k,i]==EightQueenSets[k,j]){
NegFitness[k] <- NegFitness[k] + 1
}
if ((EightQueenSets[k,j]-EightQueenSets[k,i])==(j-i)){
NegFitness[k] <- NegFitness[k] + 1
}
if ((EightQueenSets[k,j]-EightQueenSets[k,j])==-(j-i)){
NegFitness[k] <- NegFitness[k] + 1
}
}
}
Fitness[k] = 8 - NegFitness[k]
}
The error:
Error in if (EightQueenSets[k, i] == EightQueenSets[k, j]) { :
argument is of length zero