public void Initialize() { _cognitiveArchitecture = new CognitiveArchitecture { KnowledgeAndBeliefs = { HasBelief = true, HasKnowledge = true }, MessageContent = { CanReceiveBeliefs = true, CanReceiveKnowledge = true }, InternalCharacteristics = { CanLearn = true, CanForget = true, CanInfluenceOrBeInfluence = true } }; var modelEntity = new KnowledgeModelEntity { On = true }; _knowledgeModel = new KnowledgeModel(_agentId, modelEntity, _cognitiveArchitecture, Network, RandomGenerator.RandomBinary); _knowledge = new Knowledge(Network, MainOrganization.Models, "1", 1); _knowledge1 = new Knowledge(Network, MainOrganization.Models, "1", 1); _knowledge2 = new Knowledge(Network, MainOrganization.Models, "1", 1); _knowledge3 = new Knowledge(Network, MainOrganization.Models, "1", 1); _taskBits.SetMandatory(new byte[] { 0 }); _taskBits.SetRequired(new byte[] { 0 }); _actorKnowledge0 = new ActorKnowledge(_agentId, _knowledge.EntityId, _knowledge0Bits, 0, -1); _actorKnowledge1 = new ActorKnowledge(_agentId, _knowledge1.EntityId, _knowledge1Bits, 0, -1); _actorKnowledge01 = new ActorKnowledge(_agentId, _knowledge2.EntityId, _knowledge01Bits, 0, -1); _actorKnowledgeFloat = new ActorKnowledge(_agentId, _knowledge3.EntityId, _knowledgeFloatBits, 0, -1); }
/// <summary> /// Initialize Knowledge model : /// update NetworkKnowledges /// </summary> /// <param name="agentId"></param> /// <param name="entity"></param> /// <param name="cognitiveArchitecture"></param> /// <param name="network"></param> /// <param name="model"></param> public KnowledgeModel(IAgentId agentId, KnowledgeModelEntity entity, CognitiveArchitecture cognitiveArchitecture, GraphMetaNetwork network, RandomGenerator model) { if (entity is null) { throw new ArgumentNullException(nameof(entity)); } if (network == null) { throw new ArgumentNullException(nameof(network)); } if (cognitiveArchitecture == null) { throw new ArgumentNullException(nameof(cognitiveArchitecture)); } On = entity.IsAgentOn(); _agentId = agentId; _knowledgeNetwork = network.Knowledge; _actorKnowledgeNetwork = network.ActorKnowledge; _knowledgeAndBeliefs = cognitiveArchitecture.KnowledgeAndBeliefs; _messageContent = cognitiveArchitecture.MessageContent; _model = model; }