DP State Designer Skill
Purpose
Assist in designing optimal dynamic programming states, transitions, and optimizations for complex DP problems.
Capabilities
- Identify subproblem structure from problem description
- Suggest state representations (dimensions, parameters)
- Derive transition formulas
- Identify optimization opportunities (rolling array, bitmask compression)
- Generate state space complexity estimates
- Detect overlapping subproblems
Target Processes
- dp-pattern-matching
- dp-state-optimization
- dp-transition-derivation
- advanced-dp-techniques
DP Design Framework
- Subproblem Identification: What smaller problems compose the solution?
- State Definition: What parameters uniquely identify a subproblem?
- Transition Formula: How do we combine subproblem solutions?
- Base Cases: What are the trivial subproblems?
- Computation Order: In what order should we solve subproblems?
- Space Optimization: Can we reduce memory usage?
Input Schema
{
"type": "object",
"properties": {
"problemDescription": { "type": "string" },
"constraints": { "type": "object" },
"examples": { "type": "array" },
"requestType": {
"type": "string",
"enum": ["fullDesign", "stateOnly", "transitions", "optimize"]
}
},
"required": ["problemDescription", "requestType"]
}
Output Schema
{
"type": "object",
"properties": {
"success": { "type": "boolean" },
"state": {
"type": "object",
"properties": {
"definition": { "type": "string" },
"parameters": { "type": "array" },
"complexity": { "type": "string" }
}
},
"transitions": { "type": "array" },
"baseCases": { "type": "array" },
"optimizations": { "type": "array" }
},
"required": ["success"]
}