Suppose you decide to add a problem-solving function to your intelligent agent, let’s say, diagnostician. John Stuart Mill in his “System of Logic” (1843) developed five methods of inference for the purpose of understanding the grounds upon which it is appropriate to make judgments about a single cause when there are multiple cases. The five methods include: method of agreement, method of difference, joint method, method of residues, and the method of concomitant variation.
In the following example, you tell the agent “I have a stomachache”. This motivates the agent to discover the cause of the malady using one of “Mill’s Methods.” Your job is to determine how you would implement this function.
Tom: I have a stomachache.
Harry: Who else has a stomachache?
Tom: mom, dad, and sis.
Harry: Did you all eat at the same place recently?
Tom: Yes, we ate a buffet dinner together.
Harry: What did you eat?
Tom: oyster and salad.
Harry: What did mom eat?
Tom: oyster, beef, salad and noodles.
Harry: What did dad eat?
Tom: oyster and noodles.
Harry: What did sis eat?
Tom: oyster and beef.
Harry: since everyone ate oyster, oyster is the probable cause of the stomachache.
Tom: How did you arrive at this answer?
Harry: I used Mill’s Method of Agreement.
Tom: list the steps you took.
Harry: I collected all the cases with the same effect, compared the effect to the rules to create a list of candidate rules, compared the candidate rules to the situation to find a relevant rule, compared the causal side of the rule to each case to create a list of possible causes and compared the possible causes for each case to find a common cause for all cases.