Sunday, September 7, 2014

Local Call centers

Right.
I looked into some local call centers.
The way they work is simple.Let me try and explain this in a dry and aabstract way.

  1. All employees are capable of any post in the system. 
  2. All of them are recruited at the slave level. 
    1. A slave is an employee who actually does the talking during a call.
  3. There are teams of 5-10 slaves all headed by a team leader. 
    1. A team leader simply coordinates and measures performance of the team. It then submits the performance reports to Overseers
  4. There are 10-15 team leaders under one overseer
    1. The overseer manages team efficiency and shuffels teams.
    2. It collects reports from team leaders and thus manages them.
  5. 3-5 overseers collaborate to make a section work.
    1. Each section can be thought of as an individual cluster.
    2. Each section reports it's performance to a master.
  6. There is one master per system.
    1. The master manages sections.
    2. It makes the large scale decisions regarding the sections
    3. It may drop in for inspection[;-)]

Now with this structure in mind and taking a look at Genetic Algorithms and a popular neural network tutorial on the internet(here). Ill try and write some code relating to this structure.

I have decided on a communication structure. Im trying to emulate 'choice' here.
  1. Any employee can talk to any employee.
    1. Any communication has two parts.
      1. Asking
        1. The initiating employee must ask for something.
        2. This something has to be an object.
      2. Replying
        1. The employee being asked can decide to reply or not.
        2. The employee can decide to reply truthfully or not. Right now I will just implement it for an entirely truthful population
  2. All communication must be through the proper channels defined in the structure above.
  3. However communication between any two employees is possible.  Deviating from the structure costs efficiency.
  4. Talking takes time, thus efficiency.


I will be using python for the sake of sanity. When a code is generally accepted I will convert to C++ or some other appropriately faster language. Or maybe just use Jython or something similar.

Please pick out any faults in my code. It will be appreciated.
Ill post the github link soon.
====
Here is the link to the github page.
https://github.com/theSage21/ParallelComputing
====