Combining Deep Learning with Reasoning: from Mapping Species to Solving Games and Crystal Structures