Goal-directed Generation of Discrete Structures with Conditional Generative Models