humanoid reasoning