This agent demonstrates how to solve the water jug problem using reinforcement learning. It is a modification of the Simple Water Jug Agent. Two main changes are made: templates are used to generate the full space of possible moves that the agent can perform and rewards are set based on the problem solution.