The computational mechanisms of mate choice