  We propose a multi-agent system that enables groups of agents to collaborate
and work autonomously to execute tasks. Groups can work in a decentralized
manner and can adapt to dynamic changes in the environment. Groups of agents
solve assigned tasks by exploring the solution space cooperatively based on the
highest reward first. The tasks have a dependency structure associated with
them. We rigorously evaluated the performance of the system and the individual
group performance using centralized and decentralized control approaches for
task distribution. Based on the results, the centralized approach is more
efficient for systems with a less-dependent system $G_{18}$ (a well-known
program graph that contains $18$ nodes with few links), while the decentralized
approach performs better for systems with a highly-dependent system $G_{40}$ (a
program graph that contains $40$ highly interlinked nodes). We also evaluated
task allocation to groups that do not have interdependence. Our findings reveal
that there was significantly less difference in the number of tasks allocated
to each group in a less-dependent system than in a highly-dependent one. The
experimental results showed that a large number of small-size cooperative
groups of agents unequivocally improved the system's performance compared to a
small number of large-size cooperative groups of agents. Therefore, it is
essential to identify the optimal group size for a system to enhance its
performance.
