コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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;
        }