across-level consistency knowledge is now incorporated in **the architecture. Thus, if applying across-level KBAC knowledge represented a significant expense in the overall cost of**
executing a task, DHJ agents might perform better than FHJ agents.

There are two specific exceptions to this expectation. First, in domains where consistency knowledge is (mostly) unnecessary for task performance, FHJ agents may perform better than DHJ agents. For example, the Dynamic Blocks World requires little consistency knowledge but the DHJ architecture will still update the support set, even though few inconsistency-causing context changes should arise.

Second, if regeneration is problematic, overall performance will suffer. In DHJ, whenever the dependent context changes, a subtask will be retracted. **If the change does not lead** to a different choice of subtask, the subtask will be necessarily regenerated. Thus, under DHJ, some subtask regeneration will occur, and, if regeneration is significant, performance degradation will result.

CPU execution time provides a simple, single dimension of gross performance. The CPU
time reported for individual experiments reflects the time the agent spends reasoning and initiating actions rather than the time it takes to execute those actions in the environment.

Decisions: In Soar, subtasks correspond to the selection of operators **and subgoals for**
implementing operators. The selection of an operator is called a decision**. When Soar** selects an operator, it tries to apply the operator. Soar reaches an impasse **when it cannot** apply a newly selected operator. These non-primitive operators lead to the generation of a subgoal in the subsequent decision. For example, Soar selects the put-down **operator**
in one decision and creates a subgoal to implement put-down **in the subsequent decision.**
Together, these two steps constitute the notion of a subtask **in Soar.**
The number of decisions can thus be used as an indication of the number of subtasks undertaken for a task. In FHJ, a subtask was generally never interrupted until it terminated
(either successfully or unsuccessfully). In DHJ, subtasks **will be interrupted whenever a** dependent change occurs. Thus, decisions should increase in DHJ agents because subtasks will be interrupted and re-started. Further, if decisions increase substantially (suggesting significant regeneration), overall performance will degrade.

Production Firings: **A production rule "fires" when its conditions match and its result is**
applied to the current situation. Production firings should **decrease in DHJ for two reasons.** First, any across-level consistency knowledge that was previously used in FHJ agents will no longer be necessary (or represented); therefore, this knowledge will not be accessed. Second, any reasoning that occurred after inconsistency arose in FHJ agents will be interrupted and eliminated. However, production firings will increase if significant regeneration is necessary.

## 4.3 Empirical Evaluation In The Blocks World

Agents in this Dynamic Blocks World domain have execution knowledge to transform any initial configuration of three blocks into an ordered tower using a simulated gripper arm. The table in this simulation has a width of nine blocks. The agent's task goal is always to build the 1-on-2-on-3 tower. Each agent built a tower from each of the resulting 981 **unique,**
non-goal, initial configurations of blocks. Table 1 summarizes the results of these tasks. As expected, total knowledge decreased. Overall performance **improved. Decisions increased,**
as expected, but the number of rule firings increased as well, **which was not anticipated.**