def gen_match_set(pop: list, percept: list): """ Generate a list of Classifier thats match current perception :param pop: :type pop: list :param percept: :type percept: list :return: :rtype: list """ ma = [] if time == 0 or len(pop) == 0: for i in range(cons.nbAction): newcl = Classifier() newcl.condition = [cons.symbol] * cons.lenCondition newcl.action = i newcl.effect = [cons.symbol] * cons.lenCondition newcl.exp = 0 newcl.t = time newcl.q = 0.5 pop.append(newcl) for c in pop: if does_match(c, percept): ma.append(c) return ma