--> Problem Background An engineer at a computer security company is given a work assignment. CEO's refer to this as pushing an assignment to a monkey, or monkey business. CEO's have two roles. They will either push work to monkies, or tell a "monkey" to stop the assignment they are working on (presumably to start another one if the are always running around in circles doing the same thing without changing the state of the problem. This is something that monkies often do). --> Problem Definition The assignment consists of a lined sheet of paper, each line consisting of an initial value. Assigments once stating with an initial value for each line, can only from then on be changed by the monkey. Each line contains a value that is finite within the requirements of the assignment. This value either represents an instruction to carry out, or is used as a reference note. These two types of lines, instruction and data, are exchangable depending on the context (ie, if the value is the current instruction pointer, or used as memory). Instructions can only do a very small number of things. They can jump to other instructions within the sheet of paper, or they can modify other lines on the sheet of paper. A couple of lines on the sheet are reserved. The current line number representing the instruction pointer (or program counter) is marked on line in the sheet as the instructions are executed. Another line is used as a flag to save conditional testing results. If any valid values for data do not represent an instruction and this is the current instruction to execute, the monkey will stop processing and go back to the CEO for help (or an outburst). The monkey begins processing on line indicated by the initial value of the instruction pointer, and will continue until he hits a halting instruction (illegal instruction for instance). --> The Approach Monkey business occurs as usual on Monday morning. The monkey is given a work assignment. The monkey however has access to a photocopier machine in the office (and an enormous supply of paper). He starts processing the instructions. Directly before carrying out the current instruction, he makes a photocopy of the sheet of paper. After he does this, he asks his assistant if he/she can file this in his cabinet. The monkey however is a pedant for efficiency and asks the assistant to make sure not to have any duplicate copies, and to tell him if this is the case. --> The Outcome If indeed the assistant ever does find a duplicate, the monkey storm out of his cubicle, and into the CEO's office and start rambling about turing tests and other such nonsense. After this, the behaviour of our CEO is deterministic and our monkey will (naturally) be fired for behaving like a monkey. --> Questions The questions are therefore posed given the scenario described. Is our monkey going to be told to stop the assignment they are working on, under grounds of not making any progress (and probably lose their employment)? Maybe our monkey will charge into the CEO's office and also lose their job? --> Conclusion I think perhaps after examining this monkey business, that an application in computing may also be seen, however I'm still working on my current work assignment, so I will have to wait until I'm told to stop, or charge into the CEO's office (to perhaps ramble about the turing test or something). -- Silvio