Ignoring misleading messages

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Ignoring misleading messages

Felipe Rech Meneguzzi
Hi all,

   I've been playing with the Gold Miners example, and I noticed that one possible strategy to always win would be for the blue team to send a spurious depot location to the dummies. Now, I assumed that if I intercepted the message with these two plans:

+P[source(X)] : X\==self & X\==percept <- .puts("Ignoring percept #{P}, from #{X}"). 

+!G[source(X)] : X\==self & X\==percept <- .puts("Ignoring goal #{P}, from #{X}").


  I would be able to simply ignore the messages, but it turns out that the beliefs are still added to the dummy's belief base. I understand that one could simply implement a filter in the checkMail method of the underlying agent architecture, but I reckon there must be some more generic, Jason-level way of filtering incoming messages to separate truths from lies. So my question is, is my method to ignore spurious communication incorrect, or is it a bug in Jason regarding incoming messages from third parties?

Cheers,
--
___________________________
Felipe Rech Meneguzzi
[hidden email]
http://fmeneguzzi.blogspot.com
___________________________

------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Jason-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jason-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Ignoring misleading messages

Rafael H Bordini-2
Hi Filipe,

Your method works for goals but not for beliefs. +P Events represents changes in belief that already took place. Your +!G is the plan that you will use to achieve that spurious goal: do nothing. So that's OK. For beliefs, best to use:


+P[source(X)] : X\==self & X\==percept <- -P[source(X)]; .puts("Removing belief #{P}, from source #{X}").


HTH,

Rafael


On 03/10/2012 13:03, Felipe Rech Meneguzzi wrote:
Hi all,

   I've been playing with the Gold Miners example, and I noticed that one possible strategy to always win would be for the blue team to send a spurious depot location to the dummies. Now, I assumed that if I intercepted the message with these two plans:

+P[source(X)] : X\==self & X\==percept <- .puts("Ignoring percept #{P}, from #{X}"). 

+!G[source(X)] : X\==self & X\==percept <- .puts("Ignoring goal #{P}, from #{X}").


  I would be able to simply ignore the messages, but it turns out that the beliefs are still added to the dummy's belief base. I understand that one could simply implement a filter in the checkMail method of the underlying agent architecture, but I reckon there must be some more generic, Jason-level way of filtering incoming messages to separate truths from lies. So my question is, is my method to ignore spurious communication incorrect, or is it a bug in Jason regarding incoming messages from third parties?

Cheers,
--
___________________________
Felipe Rech Meneguzzi
[hidden email]
http://fmeneguzzi.blogspot.com
___________________________


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev


_______________________________________________
Jason-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jason-users


------------------------------------------------------------------------------
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
_______________________________________________
Jason-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/jason-users
Loading...