Distributed task assignment algorithm: theory and applications | Kaicus Italia