The algorithm seems to work pretty well. Unless pool is super dirty (pool opening) it gets pretty close if not 100% of the floor and a good amount of the water line/walls. It bounces around randomly but does seem to get pretty complete coverage. If it's super dirty I clean basket out and run it again. I have found if the filters get really clogged with sand or dirt it starts pushing stuff around but have only had that happened trying to clear up after opening.That's kinda what I thought, but to cover the pool in 2 hours, I would think it would "learn" the pool in some way other than just random patterns. I had heard it relearns it each time it is powered up. I'm trying to manage my expectations of how it works.