| name | evaluating-rl-feasibility |
| description | This skill should be used when the user asks to "evaluate feasibility", "check if RL is needed", "apply Occam's razor", or "compare with supervised learning". Do NOT proceed with RL formulations without passing this check. |
| version | 0.1.0 |
Evaluating RL Feasibility (Occam's Razor)
Assess whether Reinforcement Learning is actually the correct tool for the problem, or if simpler, more robust alternatives exist. This skill produces a formal Go/No-Go Decision Matrix.
Step 1 — Evaluate Rules and Heuristics
Can the problem be solved with strict business logic?
- If the domain has rigid, well-known rules (e.g., standard accounting, simple robotic routing), a Heuristic / Rule-based system is infinitely cheaper and 100% predictable.
- Action: Check if a human operator can explicitly write down the complete decision tree. If yes, RL is likely overkill.
Step 2 — Evaluate Operations Research (OR)
Is this a state-allocation or deterministic optimization problem?
- If the environment dynamics are fully known deterministically and there is no hidden stochasticity (e.g., classical TSP, factory floor layout with static routing), use OR tools like Gurobi, CPLEX, or linear programming.
Step 3 — Evaluate Supervised Learning (SL)
Do we already have exactly what we want the agent to do?
- If there is an enormous, high-quality dataset of humans making perfect decisions, and we merely want the machine to replicate it, Supervised Learning (or Behavioral Cloning) is wildly faster and more stable than RL.
Step 4 — The RL Justification
RL is strictly justified ONLY IF:
- The agent must discover new, optimal strategies through massive trial and error.
- The environment is complex, dynamic, and sequential.
- We have an objective (reward) but we don't know the optimal sequence of actions to achieve it.
Output Format
Generate the feasibility report:
Feasibility Assessment:
Can_Use_Heuristics: [True / False] (Reasoning)
Can_Use_Optimization: [True / False] (Reasoning)
Can_Use_Supervised_Learning: [True / False] (Reasoning)
RL_Justified: [True / False]
Final_Decision: [PROCEED_WITH_RL / ABORT_USE_ALTERNATIVE]