About Politicians, Cliques, And Your Life At IIT

As you all know, the decision making process may be very complicated especially when people from outside exert their influence on the person that is supposed to make the decision. This happens all the time in all places and it may have some benefits after all.

IIT, like many other private Universities, gets part of its funds from donations. It has recently launched a fund raising campign. Money will be used to repair or upgrade facilities, foster a better social life, create new scholarships. Part of the money may be used to finally put new pavement on the parking lot at State Street and 31st (the south part that is). Anyway, to get money you need to move the proper levers. You must know who influences whom, in order to talk to the right person(s).

A brief description of the problem is given in the enclosed memorandum and in the email your instructor has received from the Chairman of the Computer Science and Applied Mathematics (CSAM) at IIT.

A theoretical introduction to the problem is given in a PostScript document you can download.

What you'll turn in

  1. A well commented listing of your program (C or C++ is recommended but not required). Note that grading, as described below, considers both the functionality and the readability of your code. You may also want to have a look at a grading sheet used in the past for a similar assignment. If you are unsure about what the documentation of a program means then, you may want to read this document.
  2. A floppy disk (3.5") which contains the source program, a README file (indicating how to build the executable, what the program does, and what is the format of the input file and any of the output files), and the input file.
  3. A memo with your findings. You will indicate what you have looked for and what you have found. Direct the memo to your class instructor. In the memo also indicate what is the time complexity of your program.


  1. A mark between 0 and 10 for functionality. The mark basically indicates in what measure your program works properly.
  2. A mark between 0 and 10 for readability. This mark indicates how well documented your program is.
  3. Multiply the above two marks to get the mark for this programming assignment.


You are not required to implement the algorithm Clique. However, if you decide to do it and you succeed, then you will be rewarded with a 20% bonus.

I suggest that your program(s) handle matrices inside. At the input level I suggest that you read from a file in which each line contains a pair of numbers. The pair 3 7 for instance, would indicate that 3 influences 7.

Illinois Institute of Technology

Office of the President

DATE: February 1, 1996

TO: Robert Carlson, Chairman of the CSAM Department

FROM: Lew Collens, President of IIT

SUBJECT: Help needed

As you know, the University has launched an unprecedented fund-raising campaign. To avoid past mistakes we have decided to carefully learn the way our prospective donors influence each other. We have a list of such influences. For obvious reasons we use generic names insead of the real names of donors.

Since we have seen that the influence of one person does not extend beyond the second level of influencing (i.e. if D1 influences D2, D2 influences D3, and D3 influences D4, we know that working on D1 we may get some money from D2 and D3, but not from D4), we ask you to find two things:

We believe this is something the people in your department could solve using computers. Your Department recommends itself for this job through the high quality faculty and some of the finest students at this University.

Your cooperation is highly appreciated.

From carlson  Mon Feb  12 12:14:34 1996
Received: by charlie.acc.iit.edu (950215.SGI.8.6.10/940406.SGI)
       for virgil id MAA28491; Mon, 12 Feb 1996 12:14:33 -0600
Date: Mon, 12 Feb 1996 12:14:33 -0600
From: carlson (Robert Carlson)
Message-Id: <199511011814.MAA28491@charlie.acc.iit.edu>
To: virgil
Subject: Help
Status: R

Dear Virgil,

As you probably know the University has launched a fund raising
campaign. The President has asked our Department for assistance.

In the list of influences between potential donors we must find
two things:
    * who are the leaders (I suspect these are the people influenced
      by nobody)
    * all two-stage influences

It is quite obvious that you can represent the influences as a digraph
and then work on it (or in the digraph's matrix).

My impression is that a leader will be a source in the digraph. As far
as the two-stage influences are concerned I am sure you have either
covered this in your class or you will post some information about it.

Given that you have just taught relations in your class, we ask you to 
use your students' expertise in this matter. To be more precise, we'd like 
to have each student create a program that takes a digraph's matrix and
    * who are the leaders 
    * all two-stage influences

We really appreciate your cooperation in this matter.



P.S. What about asking the students to also find cliques in the group?

List of influences.

An arrow (->) indicates the sense of the influence. D1 stands for prospective donor #1, etc.

D1 -> D5
D2 -> D5
D16 -> D13
D3 -> D2
D4 -> D5
D6 -> D2
D6 -> D4
D10 -> D13
D18 -> D15
D8 -> D11
D15 -> D10
D13 -> D18
D11 -> D8
D8 -> D12
D9 -> D17
D19 -> D9
D12 -> D8
D16 -> D12
D17 -> D9
D9 -> D10
D9 -> D19
D17 -> D19
D3 -> D1
D4 -> D2
D12 -> D16
D19 -> D20
D5 -> D17
D7 -> D14
D14 -> D20
D12 -> D11
D18 -> D13
D10 -> D15
D13 -> D10
D3 -> D5
D15 -> D18
D19 -> D17
D20 -> D4

(c) 1996, Virgil Bistriceanu

Posted February 13, 1996. Last modified February 14, 1996.

For comments send email to virgil@charlie.iit.edu