# Algebraic Structure Part B: Guess My Rule (20 minutes)

## Session 9, Part B

One way to compare algorithms is to play the “Guess My Rule” game. Here’s how it goes:

 • Someone makes up a mystery algorithm (like “take a number, double it, and add 2 to the answer”). He or she writes it down or draws a picture of it (with machines, for example) and keeps it secret. • The algorithm writer then takes “requests.” Other people suggest inputs and request outputs. Everyone records the results. • Other people try to guess the algorithm with as few requests as possible. If someone says, “I’ve got it,” that person writes down his or her guess of the algorithm, either in words or pictures. • If the guess is the same as the mystery algorithm, the round is over. If (as often happens) the guessed algorithm looks different from the mystery algorithm, the guessers have to either prove that they will always produce the same result, or they must find an input where the algorithms produce different outputs. For example, a match for “take a number, double it, and add 2” might be “take a number, add 1, and double the answer.”

Note 3

### Problems

Problem B1

Describe some strategies for playing “Guess My Rule.”

Problem B2

When you play “Guess My Rule,” you often come up with an algorithm that acts the same as the mystery algorithm but contains different steps. In what sense are these algorithms the same? In what sense are they different? Do you think they represent the same function?

### Notes

Note 3

Groups: You may organize a participatory game of “Guess My Rule.”

### Solutions

Problem B1

One strategy is to pick consecutive inputs, trying to find the pattern to the output. This will help decide if the rule is linear, quadratic, exponential, inverse, or cyclic. Guessing numbers that are in proportion may help as well; if you’ve tried 10, see what happens with 20.

Problem B2

These algorithms produce the same final result, but may have completely different intermediate steps. One important concern is that the final result is always identical, not just for a few values of the input. Graphically, the functions should be identical, even though they may be created from different steps.