
    ho              	          S r  " S S5      r\S:X  GaJ  \" S5        \" 5       r\" S5        \R                  SSS05      r\R                  \5      r\" S	\S
    35        \" S\S    35        \" S\S   S 35        \" S5        \R                  S0 5      r\R                  \5      r\" S	\S
    35        \" S\S    35        \" S5        \R                  SSS9  \R                  SSS9  \R                  SSS9  \R                  S   r\" S5        \" S\S   S S\S    S\S    S35        \" S5        \" S 5        \" S!5        \" S"5        \" S#5        \" S$5        g%g%)&z@
Adaptive Strategies - Dynamic strategy adaptation and learning
c                   D    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)AdaptiveStrategies   c                      0 U l         / U l        g N)strategy_performancecontext_history)selfs    I/home/james-whalen/eden-agi-project/core/reasoning/adaptive_strategies.py__init__AdaptiveStrategies.__init__   s    $&!!    c                     UU R                  U5      UU R                  U5      S.nU R                  R                  U5        U$ )z(Evaluate task context to select strategy)task
complexityconstraints	resources)estimate_complexityassess_resourcesr   append)r	   r   r   contexts       r
   evaluate_context#AdaptiveStrategies.evaluate_context
   sH     2248&..{;	
 	##G,r   c                 *  ^ UR                  5       m/ SQ/ SQ/ SQ/ SQS.nUR                  5        H#  u  p4[        U4S jU 5       5      (       d  M!  Us  $    [        UR	                  5       5      S:  a  g[        UR	                  5       5      S	:  a  g
g)zEstimate task complexity)basiceasysimplestraightforward)moderateaveragestandard)complex	difficulthardchallenging)zvery complex	extremelyzhighly complex)r   r   r!   very_complexc              3   ,   >#    U  H	  oT;   v   M     g 7fr    ).0ind
task_lowers     r
   	<genexpr>9AdaptiveStrategies.estimate_complexity.<locals>.<genexpr>"   s     ;
*$
s   r   r      r   r!   )loweritemsanylensplit)r	   r   complexity_indicatorslevel
indicatorsr+   s        @r
   r   &AdaptiveStrategies.estimate_complexity   s    ZZ\
 E;FK	!
 "7!<!<!>E;
;;; "?
 tzz|q #r   c                     SSSS.nU(       aD  S[        U5      R                  5       ;   a  SUS'   S[        U5      R                  5       ;   a  SUS'   U$ )zAssess available resources	unlimited	available)timememorycomputer;   limitedr<   )strr/   )r	   r   r   s      r
   r   #AdaptiveStrategies.assess_resources-   s_      !"
	 [)//11$-	&!3{+1133&/	(#r   c                     US   nUS   nUS:X  a  US   S:X  a  SnO/SnO,US:X  a  US	   S:X  a  S
nOSnOUS;   a  US   S:X  a  SnOSnOSnUSU SUS    S3U R                  XA5      S.$ )z Select best strategy for contextr   r   r   r;   r>   greedy_fastoptimal_solutionr   r<   iterative_refinementdivide_conquer)r!   r&   heuristic_approximationexhaustive_searchadaptive_generalzSelected for z task with z time)strategy	reasoning
confidence)calculate_confidence)r	   r   r   r   rI   s        r
   select_adaptive_strategy+AdaptiveStrategies.select_adaptive_strategy=   s    \*
K(	 ! I-(-:%"i/1+66 I-4. *H !(K	&@Q?RRWX33HF
 	
r   c                 r    XR                   ;   a  U R                   U   nUS   $ US   S:X  a  gUS   S:X  a  gg)z*Calculate confidence in strategy selectionsuccess_rater   r   g?r   g      ?g333333?r   )r	   rI   r   perfs       r
   rL   'AdaptiveStrategies.calculate_confidence^   sP     000,,X6D'' < H,\"j0r   c                     XR                   ;  a  SSSS.U R                   U'   U R                   U   nUS==   S-  ss'   U(       a  US==   S-  ss'   US   US   -  US'   U$ )zLearn from strategy outcomes          ?)uses	successesrP   rW      rX   rP   rQ   )r	   rI   successrR   s       r
   update_strategy_performance.AdaptiveStrategies.update_strategy_performancem   sy    444 #3D%%h/ ((2V"#K04<?^r   c                    / nXR                   ;   aL  U R                   U   nUS   S:  a  UR                  S5        US   S:  a  US   S:  a  UR                  S5        US   S	:X  a  UR                  S
5        U(       a  U$ S/$ )zRecommend strategy improvementsrP   rV   zConsider alternative strategyrW   r   gffffff?zStrategy needs optimizationr   r&   zBreak into smaller sub-problemszStrategy performing well)r   r   )r	   rI   r   improvementsrR   s        r
   recommend_improvement(AdaptiveStrategies.recommend_improvement   s    000,,X6DN#c)##$CDF|aD$83$>##$AB< N2 AB+|M2L1MMr   )r   r   N)__name__
__module____qualname____firstlineno__r   r   r   r   rM   rL   r[   r_   __static_attributes__r(   r   r
   r   r      s,    "
. 
B$Nr   r   __main__zADAPTIVE STRATEGIES TESTu.   
🎯 Task 1: Simple task with time constraintzSort a small listr;   r>   z   Complexity: r   z   Strategy: rI   z   Confidence: rK   z.0%u"   
🎯 Task 2: Complex optimizationz,Optimize complex neural network architectureu&   
📈 Learning from strategy outcomes:rB   T)rZ   Fz   Strategy: greedy_fastz   Success rate: rP   z (rX   /rW   )u   
🔄 Eden now has:z   - Context evaluationz    - Adaptive strategy selectionz   - Performance trackingz)   - Strategy improvement recommendationsu$   
✅ ADAPTIVE STRATEGIES OPERATIONALN)__doc__r   ra   printadaptiver   r   rM   resultr[   r   rR   r(   r   r
   <module>rm      s  JN JNX z	
$%!#H 

;<''(;fi=PQG..w7F	OGL12
34	M&,-
./	OF<05
67 

/0''(VXZ[G..w7F	OGL12
34	M&,-
./ 

34(((E(((E(((F((7D	$&	d>237r${:K9LAdSYl^[\
]^	
 !	
#$	
,-	
%&	
56	
12G r   