This document is a dissertation presented by David Walter Figueira Jardim for the degree of Master in Computer Science from Lisbon University Institute. The dissertation discusses hierarchical reinforcement learning and methods for autonomously discovering subgoals and state abstractions. It presents a new method that allows an agent to discover and create temporal abstractions in the form of options based on identifying useful subgoals. The research focuses on applying this method to room-to-room navigation and taxi problems. The dissertation reviews relevant background literature and presents initial experiments applying hierarchical reinforcement learning to these domains.