Understanding greedy search and beam search