AGAT: Autonomous Group Assembly Tool
Problem
Forming groups is a frequent task, from assigning employees to subtasks to creating project teams. While automatically creating randomized group assemblies is straightforward, the task becomes more complex when granting individuals some degree of autonomy in decision-making. For instance, some individuals may already have a preferred group in mind, while others might not but would appreciate certain constraints being respected. The process becomes even more challenging when no authority is in place to moderate/control the group assembly. In other words, a solution is needed that allows the entire process to occur autonomously, based solely on the inputs provided by the individuals to be grouped.
Proposed Solution
This project proposes such a solution through the development of AGAT, the Autonomous Group Assembly Tool. AGAT is designed to facilitate the efficient and autonomous formation of groups. By offering it as a hosted web application, AGAT should enable individuals to:
- form new groups / find existing groups
- facilitate initial communication within groups
- declare a group assembly as final
- provide a programmable interface to trigger subsequent processes
Grouping Algorithms
In the realm of AGAT, students can also explore various group-forming algorithms. When individuals specify their group preferences (e.g., working hours, communication methods, expectation levels), several approaches can be employed to tackle the group assembly problem. K-means clustering, simulated annealing, and genetic algorithms are effective methods for forming groups based on these preferences, given a suitable prior encoding. Or from the perspective of an assignment problem, where n individuals are assigned to m teams, the Hungarian algorithm may serve as an elegant solution.
In summary, AGAT provides a dynamic environment for students to engage in hands-on software engineering while also delving into theoretical aspects of group formation. While the proposed algorithms offer a starting point for research, there may be better approaches for implementing AGAT that students can invent themselves.
Target Group
The project demands following skill set / interests:
- web technologies, Docker
- programming in general, testing
- data structures and handling
- access control, data protection
- project management
Interested students are invited to work on this project in the context of their Practicum Software Engineering (PSE) and/or Seminars. Generally, it is also possible to contribute to this project in the context of a Bachelor’s Thesis, though this requires further individual discussion.
Remarks
Roman Bögli is the contact person for this project and happy to answer questions or brainstorm ideas.
Further Reading
- Ahmed, Mohiuddin, Raihan Seraj, and Syed Mohammed Shamsul Islam. “The K-Means Algorithm: A Comprehensive Survey and Performance Evaluation.” Electronics 9, no. 8 (August 2020): 1295.
- Ani, Zhamri Che, Azman Yasin, Mohd Zabidin Husin, and Zauridah Abdul Hamid. “A Method for Group Formation Using Genetic Algorithm.” International Journal on Computer Science and Engineering 2, no. 9 (2010): 3060–64.
- Castillo, Oscar, and Patricia Melin. “Genetic Algorithms and Simulated Annealing.” In Soft Computing for Control of Non-Linear Dynamical Systems, edited by Oscar Castillo and Patricia Melin, 63–84. Heidelberg: Physica-Verlag HD, 2001.
- Ivanoska, Ilinka, Sashka Ivanovska, and Slobodan Kalajdziski. “Algorithms for Effective Team Building.” Faculty of Computer Science and Engineering, Ss. Cyril and Methodius University in Skopje, Macedonia, 2013.
- Kuhn, H. W. “The Hungarian Method for the Assignment Problem.” Naval Research Logistics Quarterly 2, no. 1–2 (1955): 83–97.
- Moreno, Julián, Demetrio A. Ovalle, and Rosa M. Vicari. “A Genetic Algorithm Approach for Group Formation in Collaborative Learning Considering Multiple Student Characteristics.” Computers & Education 58, no. 1 (January 1, 2012): 560–69.