Пример #1
0
        public void GetBeliefIdFromKnowledgeIdTest()
        {
            Assert.IsNull(_beliefsModel.GetBeliefIdFromKnowledgeId(_knowledge.EntityId));
            var belief = new Belief(Network, _knowledge, _knowledge.Length, RandomGenerator.RandomUniform,
                                    BeliefWeightLevel.RandomWeight);

            _beliefsModel.AddBeliefFromKnowledgeId(_knowledge.EntityId);
            Assert.AreEqual(belief.EntityId, _beliefsModel.GetBeliefIdFromKnowledgeId(_knowledge.EntityId));
        }
Пример #2
0
        /// <summary>
        ///     Missing belief is guessed
        ///     The worker possibly complete the task incorrectly
        ///     and learn by doing
        /// </summary>
        /// <param name="task"></param>
        /// <param name="blocker"></param>
        public void RecoverBlockerIncompleteBeliefByGuessing(SymuTask task, Blocker blocker)
        {
            if (task is null)
            {
                throw new ArgumentNullException(nameof(task));
            }

            if (blocker == null)
            {
                throw new ArgumentNullException(nameof(blocker));
            }

            RecoverBlockerIncompleteByGuessing(task, blocker, Environment.MainOrganization.Murphies.IncompleteBelief,
                                               BlockerResolution.Guessing);
            if (task.Incorrectness == ImpactLevel.Blocked)
            {
                return;
            }

            var knowledgeId = (IAgentId)blocker.Parameter;
            var beliefBit   = (byte)blocker.Parameter2;
            var beliefId    = BeliefsModel.GetBeliefIdFromKnowledgeId(knowledgeId);

            InfluenceModel.ReinforcementByDoing(beliefId, beliefBit, Cognitive.KnowledgeAndBeliefs.DefaultBeliefLevel);
        }