Este reto de combinatoria. Contar los miembros de un grupo en una situación del mundo real.. con un conjunto de datos muy extraño.
Necesito contar una masa de gente dividida en grupos aleatorios, a partir del informe de cada miembro del grupo sobre quién ha oído hablar en su grupo a lo largo del tiempo.
Tengo 100 personas en una gran reunión. A cada persona se le asigna un número de identificación único, desde la Persona nº 1 hasta la Persona nº 100.
En algún momento pido a los 100 que se dividan en grupos. Las 100 personas pueden estar en cualquier número de grupos. Pasan a formar parte de su grupo con un proceso de selección completamente aleatorio, por lo que un grupo puede tener de 2 a 100 personas. Si todos los grupos son de 2, podrían ser 50 grupos como máximo.
Algunas personas no entraron en un grupo.
Los distintos grupos no pueden escucharse entre sí.
Así que este es el reto.
Cada persona de un grupo puede ser un orador o un oyente, pero no ambos al mismo tiempo.
Durante el "período de recuento del grupo", los oyentes deben registrar el número de identificación de la persona que está hablando, añadiendo así el número de identificación de la persona como miembro de su grupo
Utilizando sólo Hablar y Escuchar como puntos de datos, ¿cómo puedo saber los ID numéricos de los miembros de un grupo, a partir de un informe de la base de datos de los oyentes sobre quiénes han oído hablar?
Las personas que hablan, lo hacen al azar, pero sólo pueden hablar una vez. Después, sólo deben escuchar (e informar). Una vez que alguien empieza a hablar, nadie puede interrumpirle durante los 10 segundos de conversación.
En algún momento, en algunos grupos, más de un hablante puede empezar exactamente al mismo tiempo y hablar juntos, en cuyo caso los oyentes pueden informar de que han escuchado a x+ hablantes.
Si el tiempo para pasar de hablar a escuchar es de 10 segundos. Cuánto tiempo tardarán todos los miembros del grupo en informar de quiénes saben que están en su grupo.
Su método de información consiste en que, tras el intervalo de 10 segundos, cada oyente teclea el ID de su interlocutor identificado en una entrada de la base de datos.
No estoy seguro de si permitir que los hablantes sean elegidos a través de la lotería, las matemáticas. o simplemente dejar que todo esto suceda al azar y de forma asíncrona ... donde eventualmente , todos los grupos han ciclado a través de hablar y escuchar y su confianza es alta que conocen los números de identificación de TODOS los miembros en su grupo.
La otra idea es que controle esto mediante un proceso de aprendizaje dinámico, y seleccione hablantes específicos en función de los últimos resultados de la base de datos para acelerar el proceso.
Al final del "período de recuento de grupos", la base de datos debería conocer el recuento de cada grupo y el ID de los miembros.
Las personas que no están en un grupo, son simplemente "grupos de 1" en su propia sección.
¿Alguien tiene alguna idea de cómo calcular el "período de recuento de grupos" (es decir, cuánto tiempo llevará esto) , y las reglas para mejorar este tiempo controlando quiénes deben ser los hablantes en cualquier intervalo de 10 segundos.
Esto fue un verdadero problema para una convención, y buscamos ideas para hacer un seguimiento de las métricas del grupo, con los únicos puntos de datos disponibles (informes de los oyentes sobre los hablantes).
Lo ideal sería idear un algoritmo para asignar a los interlocutores en función de los datos de los oyentes en tiempo real para completar el recuento del grupo lo antes posible.
Gracias
John Stamford CT