Efficiency in Soar

Efficiency in Soar

Soar's efficiency is limited by the time required for the decision cycle to execute. Although the elaboration phase is implicitly parallel, Soar is normally realized on serial computers. This requires the sequential firing of many (possibly hundreds or thousands) of productions for each decision cycle. Thus, the efficiency of the production matcher is a central concern for Soar's overall efficiency.

Soar's final efficiency is similarly affected by the procedures that determine the persistence of working memory elements and those that perform the dependency analysis for chunking. Soar has recently been re-implemented in the programming language C and significant improvements in the time required to execute a decision cycle were observed. Still, the best time bound for the elaboration phase matching is linear in the number of conditions in each production.

Finally, it should be noted that Soar is much less efficient than most systems designed for a specific problem. This is because Soar's architecture is purposely general and thus applicable to a wide variety of task domains.


Return to the Issues Index for this Architecture.

Return to the top of this architecture.

Go to a Discussion of this issue for multiple architectures.


Current Location: Soar Architecture-Issues-Efficiency

Go to NEXT page.