CSCE 475/896

Topic Summary Assignment 8: 

Formal Methods in DAI

Questions and Answers

November 11, 2003

 

Important Note:  Important questions are denoted with a ‘8’ symbol.

 

Q1:  Regarding knowledge in the BDI model, if an agent believes a condition, it believes that it believes it.  Does the agent always believe all the knowledge input by the designer?  If yes, does the agent designer still have to program the “it believes that it believes it” part?

 

A1:  First, does the agent always believe all the knowledge input by the designer?  Usually, yes.  It depends on what the knowledge is.  If the knowledge is about how to behave, then yes, the agent believes the knowledge.  If the knowledge is about being doubtful about the knowledge, then yes, the agent believes that too. 

 

And does the agent designer still have to program the “it believes that it believes it” part?  Yes.  Why?  Because the agent designer cannot anticipate all possible states that the agent may encounter at run-time.  The agent itself has to make decision to believe some conditions exist.  And thus, the agent should also be able to be introspective—believe what it believes.

 

Q2:  For heterogeneous agents that act completely autonomous without worrying about how their actions affect other agents, how does one define logic to coordinate their behavior?

 

A2:  If the agents do not worry about how their actions affect other agents, then it is very difficult to define logic to coordinate their behavior.  Why?  Because the agents will not worry about using the environment parameters to trigger their behavior or to derive their plans of actions.  In that case, what is the logic for coordination?  But if the agents do worry about what other agents’ actions may affect their own behavior, then it is possible for the agents to observe the environment and use those observed events to trigger their planning and thus their logical reasoning.

 

8 Q3:  If a designer were given a group of agents that the designer knew nothing about, are these rules of logic that would inform a designer how to specify coordination logic to govern the group?

 

A3:  Good question!  There is logic that is general enough that is useful for guiding designers in specifying coordination logic to govern the MAS.  For example, persistence does not entail success is one such logic.  Reasoning about communication delays is one such logic.  Reacting to other agents’ behavior is one such logic.  Events such as triggerable, flexible, inevitable, and immediate can be formulated in one such logic.  These do not have to domain specific; they can be based simply on how a generic MAS should work.

 

Q4:  Are formal methods supposed to let us model agents before we create them?  Or is it that logic is used in agents to make decisions?

 

A4:  Well, both.  With formal methods, we can actually delineate how agents can plan given what they observe.  That is, the general guideline on how they should reason.  We give them their logical reasoning.  If an agent is supposed to be rational, we can do that.  If an agent needs to be deontic, we can do that too. And so on.  Defining how the agent should reason also defines who the agent should make decisions, in a way.  For example, if an agent is programmed to derive all possible conclusions given some observed events, then the agents will use those conclusions in its decision making.  To better make decisions, usually, we supplement logic with utility theory, machine learning, and other topics. 

 

Q5:  In what situation is Deontic logic useful?  Since its idea is very aggressive … Will these rules cause an agent to carry out a lot of [unnecessary] actions?

 

A5:  They key here is to be deontic.  An agent is obliged to do p only if it is not obliged to bring (not p).  This allows the agents to be very pro-active!  Hopefully, through this, a lot of states are generated and the states populate the reasoning process to lead to tasks getting solved.  Yes, these rules may cause an agent to generate a lot of unnecessary states—allowing, however, the agent to cover quite a bit of states.

 

Q6:  Do [MAS] use a mixture of whatever logics that are suitable?  Or do they struggle to use one type of logic for one purpose?  Will the mixed use of different types of logics cause any problem?

 

A6:  Yes, multiagent systems do sometimes use a mixture of logics—temporal and BDI logic, for example.  However, to make sure that the logic works, the mixture must be well-designed—the logic must be consistent and universal for an agent.  The key to a successful mixed use of different types of logics lies with the integrated version’s consistency: the well-formed formulas, the proof-theory, and the model-theory must be defined consistently.

 

Q7:  In your experience, have you ever created a system based in these logical methods whose actions surprised you in anyway?  I still have a difficult time imagining a system that acts in a manner that hasn’t been explicitly programmed by the designer.  Can you give us an example of such a situation?

 

A7:  I have once built a system based on CLIPS logic—a rule-based system that takes into account when the rules are fired, and how many pre-conditions each fired rule has.  The rule-based logic is already embedded in CLIPS.  The only thing that I had to do was to develop the rules, invoked CLIPS from my agent, supplied CLIPS with the environmental parameters observed by my agent, and then obtained the conclusions. 

 

I have also built a system based on the Dempster-Shafer belief theory—an evidential logic that combines different pieces of assertions in an order-independent manner.

 

In both cases, I encountered results that I didn’t expect.  For example, in the second system, I found that some of the evidence override previous evidence to a point that the classification result was no longer correct.  As a result, I fixed the rules, heuristics, or the states.  However, I didn’t fix the logic.  The logic was consistent.

 

In the above cases, I implemented the logic—how a system should reason logically.  The content, or domain, that the system operates in simply “instantiates” the logic.  Sometimes, the domain rules or heuristics are not consistent—as a result of applying the logic, we could find that out.

 

Logic allows a system to think logically, but it does not prevent the system from coming up with unexpected results.  Why?  Check out my CSCE235 class website on the predicate logic (Monty Python’s Holy Grail).  The logic was correct in that example, but the results were ridiculous.

 

Keep in mind that if we can anticipate every possible scenario, then we don’t really need an agent.  But if we cannot anticipate every possible scenario, but if we still can expect how an agent should behave logically, then logic is very useful. 

 

Just think about the advice you would give to a friend before his or her big, concert performance, or a big game.  What would you say?  Be confident!  Be patient!  Winning is not important.  As long as you play your best and enjoy the game, then it is good enough.  If you make a mistake, be calm, start over. And so on. All these are useful tips that guide the reasoning of your friend.  But there are things that cannot be anticipated—hopefully, by adhering to your advice, your friend would be able to handle them.  That is the key to designing good agents.

 

Q8:  As textbook says, commitment is one property that separates goals and intentions.  How to implement this property?

 

A8:  This is straightforward.  When an agent is committed, it means that it will carry out the intentions.  So, when you implement this, you simply transfer committed actions to, say, another queue.  Then the agent carries out the actions when the times are right.  And then the agent has a set of rules to monitor the commitments and actions and to tell the agent when to continue, persist, or retract (social conventions).