Critic Systems – Human-Computer Problem Solving Review

By Scott Needham
Posted in Optimal Human-Computer Problem Solving

This is our first article on the topic of Human-Computer Problem Solving (HCPS) since we put it forward as a key area of focus for us in a recent article [link]. When searching for past research on the topic, we came across “critic systems” in a review article (Tainfield 2004). While this research was largely left in the 20th century, it aligns very well with our interests and includes many insightful concepts and strategies. We provide a brief review of the key concepts here.

The concept of critic systems were primarily developed by Gerhard Fischer and his research group at the University of Colorado, Boulder (Fischer 1991 for example). Fisher’s group applied the concept of critic systems generally to the area of human computer interaction for ill-structured design and software coding applications at a time when graphical interfaces were just emerging. Fisher noted that “The design and evaluation of the systems … led to an understanding of the theoretical aspects of critiquing”, which are presented in their publication: The Role of Critiquing in Cooperative Problem Solving (Fischer 1991). Here we provide a high level overview of the concept of a critic system.

The role of critiquing in cooperative problem solving - Fischer 1991 - Figure 1

Figure 1: The critiquing approach. Figure 1 from Fischer 1991.

Figure 1, shows a high level view of a critiquing system. The key features of the system are as follows:

A Simple Example – Spell Checking

I would like to put forward what might appear to a trivial example – a spell checker for a word processor. I think it is a good example because, 1. everyone has had exposure to a spell checker and, 2. it is not a problem that has been solved by artificial intelligence. Human-computer collaboration is required to correct spelling. Below is a discussion of the example using the key points from above:

Key Advantages of Critic Systems

Fischer covers some of the aspects of cooperative problem solving of special interest (Fischer 1991, p 125), below is a brief summary:

Thoughts on application to Research Analysis

At the time of this writing, the Research Analysis applications is a knowledge base with knowledge capture and search tools. We use the application in a process similar to the critiquing approach, but this is a manual process at present. Many researchers would use a collection of databases, software tools and peer feedback in a manual process similar to the critiquing approach to solve hard problems in medical research. The challenge is to bring these manual processes together into a system that substantially increases the efficiency of the researcher without too high a barrier to adoption. Ideally the system could be applied to many niche research areas by updating the domain knowledge, but without needing to change the core software platform.

Research Analysis currently provides very basic critiquing type functions. The researcher can enter a research claim using our semiformal language and the system will provide a list of matching claims that have been made by other researchers with quotations and citation. By relaxing the specification of the claim (eg. any association, rather than a positive correlation), the system will provide a list of similar claims. The similar claims many include claims that contradict or question the significance of the researcher’s claim.

Future functionality for Research Analysis that fits the critiquing concept:

Further Reading


  1. Fischer, Gerhard, et al. “The role of critiquing in cooperative problem solving. “ACM Transactions on Information Systems (TOIS) 9.2 (1991): 123-151.
  2. Tianfield, Huaglory, and Ruwen Wang. “Critic Systems–Towards Human–Computer Collaborative Problem Solving.” Artificial Intelligence Review 22.4 (2004): 271-295.
  3. Miller, Perry L. “Expert critiquing systems.” Expert Critiquing Systems. Springer New York, 1986. 1-20.
  4. Terveen, Loren G. “Overview of human-computer collaboration.” Knowledge-Based Systems 8.2 (1995): 67-81.