NUIMCrest SE307 - Computational Complexity Theory
Department of Computer Science
National University of Ireland, Maynooth

T Naughton, NUIM
Back to SE307 home


Lab 6 - The waiting game

In this lab we will run a little experiment which combines computability, human computer interaction, and artificial intelligence. You are required to write two simple programs, one halting, the other non-halting.

Each of you is assigned a unique number. Check the list to find it. Take two PCs each (preferably next to each other). Stick a piece of paper with "N-a" on one machine and "N-b" on the other, where N is your unique number. That's the first easy part.

For the first hour of the lab, write your two programs. They can output anything you want to the screen. The only restriction is that at least one of your programs (either the halting or non-halting, or both) must continually write something to the screen as it executes. You should write your programs so that within an hour of setting both running, your fellow students should not be able to tell which halts and which does not. That's the second easy part.

At the beginning of the second hour of the lab, set your programs running. From now on, you will not be allowed to touch any PC, whether it be your own or a fellow student's. Approach Damien in turn and he'll make a note of which of your programs (a or b) is the halting one.

Spend the second hour of the lab moving from machine to machine, inspecting your fellow students' pairs of programs running. Try to guess which is the halting program. Use all the clues you can (What kind of output do you see on the screen? Has it halted already? Is the student an expert programmer? Is the student a joker? Do you know them to be lazy -- might they not have put much thought into the programs?). Use the following form to record your guesses.

Before the end of the lab, hand up your fully-completed forms. Damien will do the calculations. There will be a prize for the student who fools the largest number of classmates. There will be a booby prize for the first student (if any) whose program halts before the hour is up.


End of sheet