Prompt Optimization as a State-Space Search Problem