Problem-solving data model

Problem-solving itself can be modeled. Let's start with a real-life example: Washing dishes using a dishwasher.

One must place the dirty dishes inside the dishwasher, load up the detergents, choose a washing program, and activate the dishwasher.

Dishes must be rinsed manually before being placed in the dishwasher, to ensure maximum cleanliness. Rinsing is a distinct activity, that does not involve the dishwasher in its performance. Rinsing involves one or more sinks, a garbage collector, sponge(s), detergent(s), possibly other types of scrubs. The main resource used is hot water.

Once rinsed, the dishes must be placed in the dishwasher so as to fit them all. The dishwasher is divided in several compartments, each designed to fit a certain type of dishes/utensils. The act of fitting the dishes in the dishwasher is akin to solving a puzzle where each piece can fit somewhere, but all pieces must be used.

Selection of the program depends on the nature and quantities of the utensils in the dishwasher. Understanding the differences between the programs, in terms of the actual steps that the dishwasher sequences for each, is useful to select the most appropriate program.

Once the detergents are properly transferred to their compartments, the machine can be fired. Its characteristic motion assures us that it is proceeding correctly with the washing.

Tomorrow morning, collecting the washed utensils and placing them back into their storage areas will be another problem to solve.

Here are some glimpses of the model:

  • An agent solves a problem by performing a sequence of actions that achieve one or more objectives. The objective of washing the dishes is performed by rinsing, placing, setting up, and firing the utensils and dishwasher.

  • A goal, or objective, is a description of a desired state of the system whose model involves several actors. Clean dishes is the goal.

  • Actions are manipulations on actors that involve transfer of resources and information between the agent and the actors. The human washer manipulates utensils, tools, detergents, and the dishwasher which are all inanimate objects. They do exhibit behaviour, however, that must be taken into account while planning and performing the actions.

  • The system presents constraints that the solution must take into account.

  • Constraints are quantified relationships on actor's attributes and between different actors.

  • Fulfilling each constraint is itself a subgoal.

  • Actions therefore involve decision-making at a finer level of detail.

  • Actions also involve work, the physical thermodynamic process. The expenditure, transfer, and acquisition of energy is monitored by the agent and informs the decision-making.

  • Actions change the state of the system.

  • The agent observes phenomena and links them to system actors serves as a feedback loop into rearranging the perceived current state of the system.

  • A goal is reached when the assessed state of the system matches the desired state of the goal.