Changeset 746


Ignore:
Timestamp:
11/25/2010 05:26:18 PM (10 years ago)
Author:
joao.dias
Message:
 
Location:
AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main
Files:
3 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/AdvancedMemoryComponent.java

    r742 r746  
    3333import java.io.Serializable; 
    3434import java.util.ArrayList; 
     35import java.util.Hashtable; 
    3536import java.util.ListIterator; 
    3637import java.util.StringTokenizer; 
     
    4041 
    4142import FAtiMA.Core.AgentModel; 
     43import FAtiMA.Core.AgentSimulationTime; 
    4244import FAtiMA.Core.IComponent; 
    4345import FAtiMA.Core.IProcessExternalRequestComponent; 
     
    5153 
    5254 
     55 
    5356public class AdvancedMemoryComponent implements Serializable, IComponent, IProcessExternalRequestComponent { 
    5457 
     
    6669        private CompoundCue _compoundCue; 
    6770        private SpreadActivate _spreadActivate; 
     71        private Commonalities _commonalities; 
     72        private EpisodicMemory _episodicMemory; 
     73        private long _lastTime; 
    6874         
    6975        public AdvancedMemoryComponent() 
     
    7379                this._compoundCue = new CompoundCue(); 
    7480                this._spreadActivate = new SpreadActivate(); 
     81                this._commonalities = new Commonalities(); 
     82                this._lastTime = AgentSimulationTime.GetInstance().Time(); 
    7583        } 
    7684         
     
    9098        public void generalise(EpisodicMemory episodicMemory) 
    9199        { 
    92                 ArrayList<AttributeItemSet> itemSet = this._generalisation.generalise(episodicMemory); 
     100                ArrayList<AttributeItemSet> itemSet = this._generalisation.generalise(_episodicMemory); 
    93101                this.AddGER(itemSet);            
    94102        } 
    95103         
    96         private void loadGeneralMemoryConditions(AgentModel ag){ 
     104        private void loadMemoryProcessesConditions(AgentModel ag){ 
    97105 
    98106                AgentLogger.GetInstance().log("LOADING GeneralMemory: "); 
     
    142150        } 
    143151         
     152        /** 
     153         * Extract known information 
     154         * @param  
     155         * @return 
     156         * added by Meiyii 19/11/09 
     157         */ 
     158        private ArrayList<String> ExtractKnownInfo(String known) 
     159        { 
     160                ArrayList<String> knownInfo = new ArrayList<String>(); 
     161                         
     162                StringTokenizer st = new StringTokenizer(known, "*"); 
     163                while(st.hasMoreTokens()) 
     164                { 
     165                        String knownStr = st.nextToken(); 
     166                        knownInfo.add(knownStr); 
     167                        System.out.println("Known String " + knownStr); 
     168                } 
     169                return knownInfo; 
     170        } 
     171         
    144172        public ArrayList<GER> getAllGERs() 
    145173        { 
     
    168196        @Override 
    169197        public void initialize(AgentModel am) { 
    170                 loadGeneralMemoryConditions(am); 
    171                  
     198                _episodicMemory = am.getMemory().getEpisodicMemory(); 
     199                loadMemoryProcessesConditions(am); 
    172200        } 
    173201 
     
    175203        public void reset() { 
    176204                // TODO Auto-generated method stub 
    177                  
    178205        } 
    179206 
    180207        @Override 
    181208        public void updateCycle(AgentModel am, long time) { 
    182                 // TODO Auto-generated method stub 
     209                if (time >= _lastTime + 86400000) { 
     210                        _lastTime = time; 
     211                         
     212                        generalise(am.getMemory().getEpisodicMemory()); 
     213                } 
    183214        } 
    184215 
     
    233264            if(msgType.equals(SA_MEMORY)) 
    234265                { 
    235                         //TODO ver isto depois com a refactorização 
    236                         /*st = new StringTokenizer(perception, "$"); 
     266                         
     267                        st = new StringTokenizer(perception, "$"); 
    237268                        String question = st.nextToken(); 
    238269                        String known = ""; 
     
    243274                        System.out.println("question " + question); 
    244275                        ArrayList<String> knownInfo = ExtractKnownInfo(known); 
    245                         _agent.getSpreadActivate().Spread(question, knownInfo, _agent.getMemory().getEpisodicMemory()); 
    246                          
    247                         Hashtable<String, Integer> saResult = _agent.getSpreadActivate().getSAResults(); 
     276                        _spreadActivate.Spread(question, knownInfo, _episodicMemory); 
     277                         
     278                         
     279                        Hashtable<String, Integer> saResult = _spreadActivate.getSAResults(); 
    248280                         
    249281                        for(String result : saResult.keySet()) 
     
    252284                        } 
    253285                         
    254                         /*_agent.getCommonalities().eventCommonalities(_agent.getSpreadActivate().getDetails()); 
    255                         Hashtable<ArrayList<Integer>, Hashtable<String, String>> gResult = _agent.getCommonalities().getMatch(); 
     286                        _commonalities.eventCommonalities(_spreadActivate.getDetails()); 
     287                        Hashtable<ArrayList<Integer>,Hashtable<String, String>> gResult = _commonalities.getMatch(); 
    256288                 
    257289                        for(ArrayList<Integer> result : gResult.keySet()) 
     
    264296                                        System.out.println("match in Remote Agent " + matchingValues); 
    265297                                } 
    266                         }*/ 
     298                        } 
    267299                         
    268300                        System.out.println("\n\n"); 
     
    271303                { 
    272304                        /*int index = Math.min(8, (int) (Math.random()*10)); 
    273                         ActionDetail event = _agent.getMemory().getEpisodicMemory().getDetails().get(index); 
    274                         _agent.getCompoundCue().Match(event, _agent.getMemory().getEpisodicMemory()); 
     305                        ActionDetail event = _episodicMemory.getDetails().get(index); 
     306                        _compoundCue.Match(event, _episodicMemory); 
    275307                        System.out.println("\nEvent ID to match on " + event.getID()); 
    276308                         
    277                         Hashtable<Integer, Float>  results = _agent.getCompoundCue().getCCResults(); 
    278                         Iterator it = results.keySet().iterator(); 
     309                        Hashtable<Integer, Float>  results = _compoundCue.getCCResults(); 
     310                        Iterator<E> it = results.keySet().iterator(); 
    279311                        while (it.hasNext()) 
    280312                        { 
     
    286318                else if(msgType.equals(G_MEMORY)) 
    287319                { 
    288                         //generalise(); 
     320                        generalise(_episodicMemory); 
    289321                } 
    290322        } 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/Commonalities.java

    r727 r746  
    3636import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    3737 
    38 public class Commonalities extends RuleEngine implements ICommonalities { 
     38public class Commonalities extends RuleEngine { 
    3939        /** 
    4040         * for serialization purposes 
     
    4545         
    4646        private Hashtable<String, Float> _results; 
    47         private GQuery _gQuery; 
     47        private CommonQuery _gQuery; 
    4848         
    4949        public Commonalities() 
    5050        { 
    5151                super(_gRulePath); 
    52                 _gQuery = new GQuery();          
     52                _gQuery = new CommonQuery();             
    5353        } 
    5454         
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/CompoundCue.java

    r727 r746  
    3636 
    3737 
    38 public class CompoundCue extends RuleEngine implements ICompoundCue { 
     38public class CompoundCue extends RuleEngine { 
    3939         
    4040        /** 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/java/FAtiMA/advancedMemoryComponent/SpreadActivate.java

    r727 r746  
    3838import FAtiMA.Core.memory.episodicMemory.ActionDetail; 
    3939 
    40 public class SpreadActivate extends RuleEngine implements ISpreadActivate { 
     40public class SpreadActivate extends RuleEngine { 
    4141         
    4242        /** 
  • AgentMind/branches/FAtiMA-Modular/FAtiMA.AdvancedMemory/src/main/rules/Commonalities.drl

    r728 r746  
    88# structures is return as a result of the query 
    99  
    10 package FAtiMA.advancedMemoryComponent; 
     10package FAtiMA.advancedMemoryComponent;  
    1111 
    1212#list any import classes here. 
     
    1919        salience 100 
    2020        when 
    21                 $q: GQuery() 
     21                $q: CommonQuery() 
    2222                $ad1: ActionDetail($id1 : ID)  
    2323                $ad2: ActionDetail($id2 : ID > $id1) 
     
    185185        salience 25 
    186186        when  
    187                 $q: GQuery($m : maxNumMatch) 
     187                $q: CommonQuery($m : maxNumMatch) 
    188188                $ep: EventPair($n : numMatch > $m) 
    189189        then 
     
    198198        salience 25 
    199199        when  
    200                 $q: GQuery($m : maxNumMatch) 
     200                $q: CommonQuery($m : maxNumMatch) 
    201201                $ep: EventPair($n : numMatch < $m) 
    202202        then 
     
    233233        no-loop true 
    234234        when  
    235                 $q: GQuery() 
     235                $q: CommonQuery() 
    236236                $ce: CommonEvents($ids: IDs, $mv : matchingValues) 
    237237        then 
Note: See TracChangeset for help on using the changeset viewer.