Engineering by Roomba’ing Around

A simple random walk algorithm: 
  • Start out systematically
  • Hit an obstacle
  • Change direction
  • Hit another obstacle
  • Change direction
  • Eventually cover the problem space.