Balanced parallel exploration of orthogonal regions

Wyatt Clements, Costas Busch, Limeng Pu, Daniel Smith, Hsiao Chun Wu

Research output: Contribution to journalArticlepeer-review


We consider the use of multiple mobile agents to explore an unknown area. The area is orthogonal, such that all perimeter lines run both vertically and horizontally. The area may consist of unknown rectangular holes which are non-traversable internally. For the sake of analysis, we assume that the area is discretized into N points allowing the agents to move from one point to an adjacent one. Mobile agents communicate through face-to-face communication when in adjacent points. The objective of exploration is to develop an online algorithm that will explore the entire area while reducing the total work of all k agents, where the work is measured as the number of points traversed. We propose splitting the exploration into two alternating tasks, perimeter and room exploration. The agents all begin with the perimeter scan and when a room is found they transition to room scan after which they continue with perimeter scan until the next room is found and so on. Given the total traversable points N, our algorithm completes in total O(N) work with each agent performing O(N/k) work, namely the work is balanced. If the rooms are hole-free the exploration time is also asymptotically optimal, O(N/k). To our knowledge, this is the first agent coordination algorithm that considers simultaneously work balancing and small exploration time.

Original languageEnglish (US)
Article number104
Issue number5
StatePublished - May 1 2019
Externally publishedYes


  • Limited communication
  • Mobile agents
  • Online algorithm
  • Parallel exploration
  • Work balancing

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Numerical Analysis
  • Computational Theory and Mathematics
  • Computational Mathematics


Dive into the research topics of 'Balanced parallel exploration of orthogonal regions'. Together they form a unique fingerprint.

Cite this