Weasel java implementation

From CreationWiki, the encyclopedia of creation science
Jump to navigationJump to search

Below is the "fitness" method changed to allow allow the exclusion of x number of letters per position:

 private static int fitness(String trial){
   int retVal = 0;
   
   String setA = "ABCDEFGHIJKLMNOPQRSTUVWXYZ A";
   String setB = "BCDEFGHIJKLMNOPQRSTUVWXYZ AB";
   String setC = "CDEFGHIJKLMNOPQRSTUVWXYZ ABC";
   String setD = "DEFGHIJKLMNOPQRSTUVWXYZ ABCD";
   String setE = "EFGHIJKLMNOPQRSTUVWXYZ ABCDE";
   String setF = "FGHIJKLMNOPQRSTUVWXYZ ABCDEF";
   String setG = "GHIJKLMNOPQRSTUVWXYZ ABCDEFG";
   String setH = "HIJKLMNOPQRSTUVWXYZ ABCDEFGH";
   String setI = "IJKLMNOPQRSTUVWXYZ ABCDEFGHI";
   String setJ = "JKLMNOPQRSTUVWXYZ ABCDEFGHIJ";
   String setK = "KLMNOPQRSTUVWXYZ ABCDEFGHIJK";
   String setL = "LMNOPQRSTUVWXYZ ABCDEFGHIJKL";
   String setM = "MNOPQRSTUVWXYZ ABCDEFGHIJKLM";
   String setN = "NOPQRSTUVWXYZ ABCDEFGHIJKLMN";
   String setO = "OPQRSTUVWXYZ ABCDEFGHIJKLMNO";
   String setP = "PQRSTUVWXYZ ABCDEFGHIJKLMNOP";
   String setQ = "QRSTUVWXYZ ABCDEFGHIJKLMNOPQ";
   String setR = "RSTUVWXYZ ABCDEFGHIJKLMNOPQR";
   String setS = "STUVWXYZ ABCDEFGHIJKLMNOPQRS";
   String setT = "TUVWXYZ ABCDEFGHIJKLMNOPQRST";
   String setU = "UVWXYZ ABCDEFGHIJKLMNOPQRSTU";
   String setV = "VWXYZ ABCDEFGHIJKLMNOPQRSTUV";
   String setW = "WXYZ ABCDEFGHIJKLMNOPQRSTUVW";
   String setX = "XYZ ABCDEFGHIJKLMNOPQRSTUVWX";
   String setY = "YZ ABCDEFGHIJKLMNOPQRSTUVWXY";
   String setZ = "Z ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   String set_ = " ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
   
   for(int i = 0;i < trial.length(); i++){
     if (trial.charAt(i) == target.charAt(i)) retVal++;
   }
   
   // each line below comment excludes one letter per position 
   for(int i = 0;i < trial.length(); i++){
       if (trial.charAt( i ) != target.charAt( i ) && 
           trial.charAt( i ) != setA.charAt( i ) && 
           trial.charAt( i ) != setB.charAt( i ) && 
           trial.charAt( i ) != setC.charAt( i ) && 
           trial.charAt( i ) != setD.charAt( i ) && 
           trial.charAt( i ) != setE.charAt( i ) && 
           trial.charAt( i ) != setF.charAt( i ) && 
           trial.charAt( i ) != setG.charAt( i ) && 
           trial.charAt( i ) != setH.charAt( i ) && 
           trial.charAt( i ) != setI.charAt( i ) && 
           trial.charAt( i ) != setJ.charAt( i ) && 
           trial.charAt( i ) != setK.charAt( i ) && 
           trial.charAt( i ) != setL.charAt( i ) && 
           trial.charAt( i ) != setM.charAt( i ) && 
           trial.charAt( i ) != setN.charAt( i ) && 
           trial.charAt( i ) != setO.charAt( i ) && 
           trial.charAt( i ) != setP.charAt( i ) && 
           trial.charAt( i ) != setQ.charAt( i ) && 
           trial.charAt( i ) != setR.charAt( i ) && 
           trial.charAt( i ) != setS.charAt( i ) && 
           trial.charAt( i ) != setT.charAt( i ) && 
           trial.charAt( i ) != setU.charAt( i ) && 
           trial.charAt( i ) != setV.charAt( i ) && 
           trial.charAt( i ) != setW.charAt( i ) && 
           trial.charAt( i ) != setX.charAt( i ) && 
           trial.charAt( i ) != setY.charAt( i ) && 
           trial.charAt( i ) != setZ.charAt( i ) && 
           trial.charAt( i ) != set_.charAt( i ) && 
           trial.charAt( i ) != parent.charAt( i ) ) {
      	    return 0;
       }
   }
   return retVal;

}