"""Eden Reinforcement Learning"""
from typing import Dict, Any

class ReinforcementLearner:
    def __init__(self):
        self.q_table = {}
        self.experiences = []
    
    def learn_from_experience(self, state: Dict, action: str, reward: float, next_state: Dict):
        state_key = str(sorted(state.items()))
        if state_key not in self.q_table:
            self.q_table[state_key] = {}
        
        if action not in self.q_table[state_key]:
            self.q_table[state_key][action] = 0.0
        
        # Simple Q-learning update
        learning_rate = 0.1
        self.q_table[state_key][action] += learning_rate * reward
        
        self.experiences.append({
            'state': state_key,
            'action': action,
            'reward': reward
        })
    
    def get_metrics(self) -> Dict[str, Any]:
        return {
            'total_experiences': len(self.experiences),
            'states_explored': len(self.q_table)
        }

if __name__ == "__main__":
    print("="*50)
    print("🔄 REINFORCEMENT LEARNING TEST")
    print("="*50)
    learner = ReinforcementLearner()
    learner.learn_from_experience({'problem': 'test'}, 'recursive', 1.0, {'solved': True})
    learner.learn_from_experience({'problem': 'test2'}, 'iterative', 0.8, {'solved': True})
    metrics = learner.get_metrics()
    print(f"Experiences: {metrics['total_experiences']}")
    print(f"States explored: {metrics['states_explored']}")
    print("✅ Reinforcement Learning operational!")
