code: def prior(self, samples):
          
          ret = np.ones(NUM_OF_INSTANCE)
          for i in range(NUM_OF_INSTANCE):
              for j in range(self.effective_model_num):
                  if not samples[i][j] > 0:
                      ret[i] = 0
              if self.f_comb(1, samples[i]) >= self.f_comb(self.target_pos, samples[i]):
                  ret[i] = 0
          return ret
docs: priori distribution
   
          Parameters
          ----------
          samples: list
              a collection of sample, it's a (NUM_OF_INSTANCE * NUM_OF_FUNCTIONS) matrix,
              representing{{w11, w12, ..., w1k}, {w21, w22, ... w2k}, ...{wk1, wk2,..., wkk}}
          
          Returns
          -------
          float
              priori distribution