A combinatorics challenge. Counting members and totals of a random group This combinatorics challenge. Counting members of a group in a real world situation.. with a very strange data pool.
I need to count a mass of people divided into random groups, from each group member's report of who they have heard speaking in their group over time.
I have 100 people in a large meeting. Each person is assigned a unique ID number from Person #1 to Person# 100.
At some point I ask the 100 to divide up into groups. The 100 people can be in any number of groups. They become part of their group with a completely random selection process, so a group can have 2 to 100 people. If all are groups of 2 this could be 50 groups max.
Some people did not get into a group. 
Different groups cannot hear each other.
So here is the challenge. 
Each person in a group can be a speaker or a listener, but not both at the same time.
During the "Group Counting Period", Listeners must record the ID number of the person who is talking, thereby adding the person's ID number as member of their group
With using only Talking and Listening as data points, how can I know the numerical IDs of members in a group, from a database report  from listeners on who they heard talking.
People who talk, do so at random, but they can only talk ONCE. After that, they must only listen (and report). Once someone starts talking, no one can interrupt them for the 10 second talking period.
At some point, in some groups, more that 1 talker may start at the exact same time and talk together, in which case the listeners may report that they have heard x+ talkers. 
If the time to switch from talking to listening is 10 seconds. How long will this take for all group members to report who they know to be in their group.
Their reporting method is after the 10 second interval, each listener types their identified talkers ID into a database entry.
I am unsure if I allow the talkers to be chosen via lottery, math. or simply let this all happen randomly and asynchronously... where eventually , all groups have cycled through talking and listening and their confidence is high that know the ID numbers of ALL members in their group.
The other idea is I control this by a dynamic learning process, and select specific talkers based on latest database results to speed up the process.
At the end of the "group counting period", the database should then know the count of each group and the members ID. 
People not in a group, are simply "groups of 1" in their own section.
Does anyone have any idea of how to calculate the "group counting period" (i.e. how long will this take) , and the rules to improve this time by controlling who the talkers should be at any 10 second interval.
This was actually a real problem for a convention, and we seeking ideas to track group metrics, with the only data points available (listeners reports of talkers).
Ideally we could come up with an algorithm to assign talkers based on real time listener data to complete the group tally as quickly as possible.
Thanks 
John
Stamford CT
 A: There seem to be two different requirements, although this might just be incomplete understanding of the task.
A central database receiving reports from identified listeners reporting on the speakers establishes the groups immediately. Everyone listening to the same speaker(s) is in the group. 
However, if listeners do not report speaker IDs when there are multiple simultaneous speakers, a more extended approach will be needed (and may not be infallible). The following round of speaking will bring in reports from all the previous speakers, so it will be clear who the speakers were in the first round, and (as importantly) how many there were. This may allow a group decision if (say) a lot of people listened to three speakers, but the count of speakers indicates that those must all have been in the same group.
For each listener to know the ID of everyone else in their group is more difficult, absent any information sharing between listeners (eg. through central database above), until everyone in their group has spoken - and if ID is not recorded for multiple speakers, any listener to multiple speakers will never know those IDs.
Question: is it possible for everyone in a group to speak at once, and therefore never to hear any listener reports at all from those people? This would obviously be indistinguishable from the case where those people were not included in any group.
