
    >hS                        S r SSKrSSKJr  \R                  R                  S\" \" \5      R                  R                  S-  5      5         " S S5      r	\
S:X  a  SSKJr  SS	KJr  \R                  R                  S\" \" \5      R                  5      5        SS
KJr  \" S5        \" 5       r\" \5      r\" 5       r\R+                  SSS5        \R+                  SSS5        \	" \\5      r\R/                  5         \" S5        gg)z,
Hypothesis Generator - Eden forms theories
    N)Pathautonomyc                   0    \ rS rSrSS jrS rS rS rSrg)	HypothesisGenerator   Nc                 *    Xl         X l        / U l        g )N)causalmeta
hypotheses)selfcausal_modelmeta_learners      J/home/james-whalen/eden-agi-project/core/reasoning/hypothesis_generator.py__init__HypothesisGenerator.__init__	   s    " 	    c                    / nU R                   (       ae  U R                   R                  (       aJ  U R                   R                  R                  R                  SS5      nUS:  a  UR	                  SSS.5        U R
                  (       a7  [        U R
                  R                  5      S:  a  UR	                  SSS.5        Xl        U$ )	Ntotal_experiencesr      z(Learning speed increases with experienceT)
hypothesistestable   !Some actions consistently succeed)	r
   learning	knowledgegetappendr	   lencausal_linksr   )r   r   totals      r   generate_hypotheses'HypothesisGenerator.generate_hypotheses   s    
99++II&&00445H!LErz!!"L $# 
 ;;3t{{7781<A  
 %r   c                 (   US:X  a  U R                   (       aw  / nU R                   R                  R                  5        H<  u  p4U R                   R                  U5      nUS   S:  d  M+  UR	                  U5        M>     [        U5      S:  US.$ S/ S.$ )Nr   success_rateg?r   )	supportedevidenceF)r	   r   itemspredict_outcomer   r   )r   r   high_successactiondatapreds         r   test_hypothesis#HypothesisGenerator.test_hypothesis"   s    <<{{!$(KK$<$<$B$B$DLF;;66v>DN+c1$++F3 %E
 "%\!2Q!6 ,  #33r   c                    [        S5        [        S5        [        S5        U R                  5       n[        S[        U5       S35        [        US5       Ha  u  p#[        SU SUS	    35        U R	                  US	   5      nUS
   (       d  M9  [        S5        US   (       d  MP  [        SUS    35        Mc     [        S5        U$ )NzG
======================================================================u   🔬 HYPOTHESIS GENERATIONzF======================================================================u   
💡 z Hypotheses:   z
   z. r   r%   u         ✅ SUPPORTEDr&   z      Evidence: )printr!   r   	enumerater-   )r   r   ihresults        r   display_hypotheses&HypothesisGenerator.display_hypotheses0   s    m*+f--/
J(56j!,DAE!Bq/01))!L/:Fk""+-*%%,VJ-?,@AB - 	mr   )r	   r   r
   )NN)	__name__
__module____qualname____firstlineno__r   r!   r-   r6   __static_attributes__ r   r   r   r      s    
(4r   r   __main__)MetaLearner)LearningLoop)CausalModelzHYPOTHESIS GENERATOR TESTdirect_writesuccessTu%   
✅ HYPOTHESIS GENERATOR OPERATIONAL)__doc__syspathlibr   pathinsertstr__file__parentr   r8   r   r?   learning_loopsr@   r   rA   r1   r   r
   r	   learn_causal_link	generatorr6   r=   r   r   <module>rO      s      3tH~,,33j@A B9 9v z(+HHOOAs4>0012(	
%&~Hx D]F
^Y=
^Y=#FD1I  "	
23! r   