def __init__(self, environment=None, **model_parameters): self.chunktype = chunks.chunktype self.chunkstring = chunks.chunkstring self.visbuffers = {} start_goal = goals.Goal() self.goals = {"g": start_goal} self.__buffers = {"g": start_goal} start_retrieval = declarative.DecMemBuffer() self.retrievals = {"retrieval": start_retrieval} self.__buffers["retrieval"] = start_retrieval start_dm = declarative.DecMem() self.decmems = {"decmem": start_dm} self.productions = productions.Productions() self.__similarities = {} self.model_parameters = self.MODEL_PARAMETERS.copy() try: if not set(model_parameters.keys()).issubset(set(self.MODEL_PARAMETERS.keys())): raise(utilities.ACTRError("Incorrect model parameter(s) %s. The only possible model parameters are: '%s'" % (set(model_parameters.keys()).difference(set(self.MODEL_PARAMETERS.keys())), set(self.MODEL_PARAMETERS.keys())))) self.model_parameters.update(model_parameters) except TypeError: pass self.__env = environment
def set_retrieval(self, name): """ Set retrieval. name specifies the name by which the retrieval buffer is referred to in production rules. """ dmb = declarative.DecMemBuffer() self.__buffers[name] = dmb self.retrievals[name] = dmb return dmb
def set_retrieval(self, name): """ Set retrieval. name: the name by which the retrieval buffer is referred to in production rules. """ if not isinstance(name, str): raise(ValueError("Retrieval buffer can be only set with a string, the name of the retrieval buffer.")) dmb = declarative.DecMemBuffer() self.__buffers[name] = dmb self.retrievals[name] = dmb return dmb