função **Busca**(problema) **retorna** uma solução ou falha:
	inicializar a fronteira usando o estado inicial do problema
	inicializar o conjunto explorado como vazio
	**repita**:
			**se** fronteira vazia:
				**Retorna** falha
			escolher um nó folha e remover da fronteira
			**se** o estado do nó for um estao objetivo
				**então retorna** solução correspondente
			adicionar o nó ao conjunto explorado
			expandi io nó escolhido encontrado os próximos nós
			para cada próximo nó
				**se** não estiver na fronteira nem no conjunto explorado
					**então** adiciona á fronteira