AGAT: Autonomous Group Assembly Tool

Page content

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