예제 #1
0
 public virtual void Enqueue(BWMessage message)
 {
     lock (MessageQueueLock)
     {
         messageQueue.Enqueue(message);
     }
 }
예제 #2
0
 //他のエージェント(意見送信できるなにか)から意見をもらう OR センサーから値もらう
 public virtual void ReceiveOpinion(BWMessage message)
 {
     //一応、いっとく。DontReplyとかで使われる。
     algorithm.ReceiveOpinion(message);
     //Queueに送信
     messageQueue.Enqueue(message);
 }
예제 #3
0
        //他のエージェントから意見をもらう OR センサーから値もらう
        public virtual void ReceiveOpinion(BWMessage message)
        {
            //自分のimportance levelを使う


            messageQueue.Enqueue(message);
        }
예제 #4
0
 public virtual void Enqueue(BWMessage message)
 {
     lock (MessageQueueLock)
     {
         messageQueue.Enqueue(message);
     }
 }
예제 #5
0
        public override void ProcessMessage(BWMessage message)
        {
            //ここじゃだめかも。Receiveのところでもいっこ穴開けなきゃ行けないかもしれない。!!!!!!!
            if (message.From != null && message.From is AgentIO)//送信者がエージェントの場合のみ貯める
            {
                messageBox.Enqueue(message);
            }

            base.ProcessMessage(message);
        }
예제 #6
0
        public override void ProcessMessage(BWMessage message)
        {
            //ここじゃだめかも。Receiveのところでもいっこ穴開けなきゃ行けないかもしれない。!!!!!!!
            if (message.From != null && message.From is AgentIO)//送信者がエージェントの場合のみ貯める
            {
                messageBox.Enqueue(message);
            }

            base.ProcessMessage(message);
        }
예제 #7
0
        public override void ReceiveOpinion(BWMessage message)
        {
            /*  */
            if (message.From != null && message.From is Agent)//送信者がエージェントの場合のみ貯める
            {
                messageBox.Enqueue(message);
            }
            //*/

            base.ReceiveOpinion(message);
        }
예제 #8
0
        public override void ReceiveOpinion(BWMessage message)
        {
            /*  */
            if (message.From != null && message.From is Agent)//送信者がエージェントの場合のみ貯める
            {
                messageBox.Enqueue(message);
            }
            //*/

            base.ReceiveOpinion(message);
        }
예제 #9
0
 public override void ProcessMessage(BWMessage message)
 {
     //センサーからのメッセージならば、センサーの精度分信じる
     if (message.From != null && message.From.Accuracy != null)
     {
         UpdateOpinion(message.Subject, new BeliefUpdater(message.From.Accuracy.Value)); //センサーの精度をもとに新たなUpdaterを生成。Accuracy をdouble じゃなくてupdaterにしてもいいかもな
     }
     //それ以外は、自分のImportanceLevelを使う
     else
     {
         UpdateOpinion(message.Subject, candidateSelector.BeliefUpdater);
     }
 }
예제 #10
0
 public virtual void ProcessMessage(BWMessage mes)
 {
 }
예제 #11
0
        public override void ReceiveOpinion(BWMessage message)
        {
            base.ReceiveOpinion(message);

            receivedMessages.Enqueue(message);
        }
예제 #12
0
 //ここだけ派生クラスで考えてね。
 public abstract void ProcessMessage(BWMessage message);
예제 #13
0
        public override void ReceiveOpinion(BWMessage message)
        {
            base.ReceiveOpinion(message);

            receivedMessages.Enqueue(message);
        }
예제 #14
0
 //ここだけ派生クラスで考えてね。
 public abstract void ProcessMessage(BWMessage message);
예제 #15
0
        //*** IOpinionSender ***


        //*** IAgent ***


        public virtual void ReceiveOpinion(BWMessage message)
        {
        }
예제 #16
0
 //*** IOpinionSender ***
 //*** IAgent ***
 public virtual void ReceiveOpinion(BWMessage message)
 {
 }
예제 #17
0
 public void Enqueue(BWMessage message)
 {
     messages.Enqueue(message);
 }
예제 #18
0
        //他のエージェントから意見をもらう OR センサーから値もらう
        public virtual void ReceiveOpinion(BWMessage message)
        {
            //自分のimportance levelを使う

            messageQueue.Enqueue(message);
        }
예제 #19
0
 public override void ProcessMessage(BWMessage message)
 {
     //センサーからのメッセージならば、センサーの精度分信じる
     if (message.From != null && message.From.Accuracy != null)
     {
         UpdateOpinion(message.Subject, new BeliefUpdater( message.From.Accuracy.Value));//センサーの精度をもとに新たなUpdaterを生成。Accuracy をdouble じゃなくてupdaterにしてもいいかもな
     }
     //それ以外は、自分のImportanceLevelを使う
     else
     {
         UpdateOpinion(message.Subject, candidateSelector.BeliefUpdater);
     }
 }
예제 #20
0
 public void Enqueue(BWMessage message)
 {
     messages.Enqueue(message);
 }