, the Rule Engine for the JavaTM
What I want to share here is a simple and practical way of visualizing salience and properly using it in your Jess projects. The technique that I will discuss uses a small number of well defined salience levels to control the macro-behavior of a set of rules. To motivate the example, let's consider some hypothetical, rule-based ants.
It is remarkable that ants only have a handful of rules that govern their behavior, yet they can cooperate to accomplish tremendous goals such as dragging food back to a colony, defending against invading armies of other ants, and even removing garbage from the colony. An individual ant isn't all that smart or that capable (relative to any other ant). However, when you have thousands of them devoted to a collection of tasks, their behaviors can become quite complex and their abilities quite formidable. In complex systems theory, this is known as emergent behavior.
Ants exhibit priorities in their behavior, and we can model this with salience in the rules that describe an ant's reactions to certain stimuli. For example, the need to find food is a constant stimulus, and the presence of food should normally cause an ant to want to gather it. Are there higher priorities? Certainly! If an ant from a hostile colony approaches our food-gathering ant's colony, our hypothetical ant immediately drops its food and prepares for battle. If there is no food to gather or enemies to fight, there are always chores to be done around the colony.
Let's look at how this might be implemented for one particular ant.
Back to BadSalience | Next to SalientAntSimulator
Front Page |
Recent Changes |
Powered by Friki |
Last Edited: 13 May 2008