Abaixo está o método "fitness" alterado para permitir permitem a exclusão de um x número de letras por posição:

 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;
       

}