Ignore:
Timestamp:
08/16/12 12:34:24 (12 years ago)
Author:
sherbold
Message:
  • countless adaptations throughout nearly all components to remove errors introduced due to the refactoring of the event core
Location:
trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/DeterministicFiniteAutomaton.java

    r518 r547  
    5151         */ 
    5252        @Override 
    53         public double getProbability(List<? extends Event<?>> context, 
    54                         Event<?> symbol) { 
     53        public double getProbability(List<Event> context, 
     54                        Event symbol) { 
    5555                if( context==null ) { 
    5656                        throw new InvalidParameterException("context must not be null"); 
     
    6161                double result = 0.0d; 
    6262 
    63                 List<Event<?>> contextCopy; 
     63                List<Event> contextCopy; 
    6464                if (context.size() >= trieOrder) { 
    65                         contextCopy = new LinkedList<Event<?>>(context.subList( 
     65                        contextCopy = new LinkedList<Event>(context.subList( 
    6666                                        context.size() - trieOrder + 1, context.size())); 
    6767                } else { 
    68                         contextCopy = new LinkedList<Event<?>>(context); 
     68                        contextCopy = new LinkedList<Event>(context); 
    6969                } 
    7070 
    71                 Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy); 
     71                Collection<Event> followers = trie.getFollowingSymbols(contextCopy); 
    7272 
    7373                if (followers.size() != 0 && followers.contains(symbol)) { 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/FirstOrderMarkovModel.java

    r518 r547  
    6767         */ 
    6868        private Matrix getTransmissionMatrix() { 
    69                 List<Event<?>> knownSymbols = new ArrayList<Event<?>>( 
     69                List<Event> knownSymbols = new ArrayList<Event>( 
    7070                                trie.getKnownSymbols()); 
    7171                int numStates = knownSymbols.size(); 
     
    7373 
    7474                for (int i = 0; i < numStates; i++) { 
    75                         Event<?> currentSymbol = knownSymbols.get(i); 
    76                         List<Event<?>> context = new ArrayList<Event<?>>(); 
     75                        Event currentSymbol = knownSymbols.get(i); 
     76                        List<Event> context = new ArrayList<Event>(); 
    7777                        context.add(currentSymbol); 
    7878                        for (int j = 0; j < numStates; j++) { 
    79                                 Event<?> follower = knownSymbols.get(j); 
     79                                Event follower = knownSymbols.get(j); 
    8080                                double prob = getProbability(context, follower); 
    8181                                transmissionMatrix.set(i, j, prob); 
     
    9696        public double calcEntropy() { 
    9797                Matrix transmissionMatrix = getTransmissionMatrix(); 
    98                 List<Event<?>> knownSymbols = new ArrayList<Event<?>>( 
     98                List<Event> knownSymbols = new ArrayList<Event>( 
    9999                                trie.getKnownSymbols()); 
    100100                int numStates = knownSymbols.size(); 
     
    173173                stringBuilder.append("digraph model {" + StringTools.ENDLINE); 
    174174 
    175                 List<Event<?>> knownSymbols = new ArrayList<Event<?>>( 
    176                                 trie.getKnownSymbols()); 
    177                 for (Event<?> symbol : knownSymbols) { 
     175                List<Event> knownSymbols = new ArrayList<Event>( 
     176                                trie.getKnownSymbols()); 
     177                for (Event symbol : knownSymbols) { 
    178178                        final String thisSaneId = symbol.getShortId().replace("\"", "\\\"") 
    179179                                        .replaceAll("[\r\n]", ""); 
    180180                        stringBuilder.append(" " + knownSymbols.indexOf(symbol) + " [label=\"" 
    181181                                        + thisSaneId + "\"];" + StringTools.ENDLINE); 
    182                         List<Event<?>> context = new ArrayList<Event<?>>(); 
     182                        List<Event> context = new ArrayList<Event>(); 
    183183                        context.add(symbol); 
    184                         Collection<Event<?>> followers = trie.getFollowingSymbols(context); 
    185                         for (Event<?> follower : followers) { 
     184                        Collection<Event> followers = trie.getFollowingSymbols(context); 
     185                        for (Event follower : followers) { 
    186186                                stringBuilder.append(" " + knownSymbols.indexOf(symbol) + " -> " 
    187187                                                + knownSymbols.indexOf(follower) + " "); 
     
    206206                Graph<String, MarkovEdge> graph = new SparseMultigraph<String, MarkovEdge>(); 
    207207 
    208                 List<Event<?>> knownSymbols = new ArrayList<Event<?>>( 
    209                                 trie.getKnownSymbols()); 
    210  
    211                 for (Event<?> symbol : knownSymbols) { 
     208                List<Event> knownSymbols = new ArrayList<Event>( 
     209                                trie.getKnownSymbols()); 
     210 
     211                for (Event symbol : knownSymbols) { 
    212212                        String from = symbol.getShortId(); 
    213                         List<Event<?>> context = new ArrayList<Event<?>>(); 
     213                        List<Event> context = new ArrayList<Event>(); 
    214214                        context.add(symbol); 
    215215 
    216                         Collection<Event<?>> followers = trie.getFollowingSymbols(context); 
    217  
    218                         for (Event<?> follower : followers) { 
     216                        Collection<Event> followers = trie.getFollowingSymbols(context); 
     217 
     218                        for (Event follower : followers) { 
    219219                                String to = follower.getShortId(); 
    220220                                MarkovEdge prob = new MarkovEdge(getProbability(context, 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/HighOrderMarkovModel.java

    r518 r547  
    5353         */ 
    5454        @Override 
    55         public double getProbability(List<? extends Event<?>> context, 
    56                         Event<?> symbol) { 
     55        public double getProbability(List<Event> context, 
     56                        Event symbol) { 
    5757                if (context == null) { 
    5858                        throw new InvalidParameterException("context must not be null"); 
     
    6363                double result = 0.0d; 
    6464 
    65                 List<Event<?>> contextCopy; 
     65                List<Event> contextCopy; 
    6666                if (context.size() >= trieOrder) { 
    67                         contextCopy = new LinkedList<Event<?>>(context.subList( 
     67                        contextCopy = new LinkedList<Event>(context.subList( 
    6868                                        context.size() - trieOrder + 1, context.size())); 
    6969                } else { 
    70                         contextCopy = new LinkedList<Event<?>>(context); 
     70                        contextCopy = new LinkedList<Event>(context); 
    7171                } 
    7272 
    73                 Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy); 
     73                Collection<Event> followers = trie.getFollowingSymbols(contextCopy); 
    7474                int sumCountFollowers = 0; // N(s\sigma') 
    75                 for (Event<?> follower : followers) { 
     75                for (Event follower : followers) { 
    7676                        sumCountFollowers += trie.getCount(contextCopy, follower); 
    7777                } 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/IStochasticProcess.java

    r518 r547  
    3434         *             thrown if context or symbol is null 
    3535         */ 
    36         double getProbability(List<? extends Event<?>> context, Event<?> symbol); 
     36        double getProbability(List<Event> context, Event symbol); 
    3737 
    3838        /** 
     
    4848         *             thrown if sequence is null 
    4949         */ 
    50         double getProbability(List<? extends Event<?>> sequence); 
     50        double getProbability(List<Event> sequence); 
    5151 
    5252        /** 
     
    5858         * @return randomly generated sequence 
    5959         */ 
    60         public List<? extends Event<?>> randomSequence(); 
     60        public List<Event> randomSequence(); 
    6161 
    6262        /** 
     
    8181         *  
    8282         */ 
    83         public List<? extends Event<?>> randomSequence(int maxLength, 
     83        public List<Event> randomSequence(int maxLength, 
    8484                        boolean validEnd); 
    8585 
     
    9898         *             thrown if length is less than or equal to 0 
    9999         */ 
    100         public Collection<List<? extends Event<?>>> generateSequences(int length); 
     100        public Collection<List<Event>> generateSequences(int length); 
    101101 
    102102        /** 
     
    118118         *             thrown if length is less than or equal to 0 
    119119         */ 
    120         public Collection<List<? extends Event<?>>> generateSequences(int length, 
     120        public Collection<List<Event>> generateSequences(int length, 
    121121                        boolean fromStart); 
    122122 
     
    135135         *             thrown if length is less than or equal to 0 
    136136         */ 
    137         public Collection<List<? extends Event<?>>> generateValidSequences( 
     137        public Collection<List<Event>> generateValidSequences( 
    138138                        int length); 
    139139 
     
    190190         * @return events known by the process 
    191191         */ 
    192         public Collection<? extends Event<?>> getEvents(); 
     192        public Collection<Event> getEvents(); 
    193193 
    194194} 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/ModelFlattener.java

    r518 r547  
    2727        private static final String EVENT_SEPARATOR = "-=-"; 
    2828 
    29         Trie<Event<?>> firstOrderTrie; 
     29        Trie<Event> firstOrderTrie; 
    3030 
    3131        /** 
     
    4747                firstOrderModel.trieOrder = 2; 
    4848                if (markovOrder == 1) { 
    49                         firstOrderModel.trie = new Trie<Event<?>>(model.trie); 
     49                        firstOrderModel.trie = new Trie<Event>(model.trie); 
    5050                        firstOrderModel.trieOrder = 2; 
    5151                } else { 
    52                         firstOrderTrie = new Trie<Event<?>>(); 
    53                         TrieNode<Event<?>> rootNode = model.trie.find(null); 
     52                        firstOrderTrie = new Trie<Event>(); 
     53                        TrieNode<Event> rootNode = model.trie.find(null); 
    5454                        generateFirstOrderTrie(rootNode, new LinkedList<String>(), markovOrder); 
    5555                        firstOrderTrie.updateKnownSymbols(); 
     
    9898         *            depth to go - NOT the current depth. 
    9999         */ 
    100         private void generateFirstOrderTrie(TrieNode<Event<?>> currentNode, 
     100        private void generateFirstOrderTrie(TrieNode<Event> currentNode, 
    101101                        List<String> parentIDs, int depth) { 
    102                 for (TrieNode<Event<?>> child : currentNode.getChildren()) { 
     102                for (TrieNode<Event> child : currentNode.getChildren()) { 
    103103                        String currentId = child.getSymbol().getStandardId(); 
    104104                        if (depth > 1) { 
     
    113113                                } 
    114114                                firstOrderID.append(currentId); 
    115                                 TrieNode<Event<?>> firstOrderNode = firstOrderTrie 
     115                                TrieNode<Event> firstOrderNode = firstOrderTrie 
    116116                                                .getChildCreate(new Event<Object>(firstOrderID 
    117117                                                                .toString())); 
    118118                                firstOrderNode.setCount(child.getCount()); 
    119                                 for (TrieNode<Event<?>> transitionChild : child.getChildren()) { 
     119                                for (TrieNode<Event> transitionChild : child.getChildren()) { 
    120120                                        StringBuilder transitionID = new StringBuilder(); 
    121121                                        for (String parentID : parentIDs.subList(1, 
     
    126126                                        transitionID.append(transitionChild.getSymbol() 
    127127                                                        .getStandardId()); 
    128                                         TrieNode<Event<?>> firstOrderTransitionChild = firstOrderNode 
     128                                        TrieNode<Event> firstOrderTransitionChild = firstOrderNode 
    129129                                                        .getChildCreate(new Event<Object>(transitionID 
    130130                                                                        .toString())); 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/PredictionByPartialMatch.java

    r518 r547  
    149149         */ 
    150150        @Override 
    151         public double getProbability(List<? extends Event<?>> context, 
    152                         Event<?> symbol) { 
     151        public double getProbability(List<Event> context, 
     152                        Event symbol) { 
    153153                if (context == null) { 
    154154                        throw new InvalidParameterException("context must not be null"); 
     
    161161                double resultShorterContex = 0.0d; 
    162162 
    163                 List<Event<?>> contextCopy; 
     163                List<Event> contextCopy; 
    164164                if (context.size() >= trieOrder) { 
    165                         contextCopy = new LinkedList<Event<?>>(context.subList( 
     165                        contextCopy = new LinkedList<Event>(context.subList( 
    166166                                        context.size() - trieOrder + 1, context.size())); 
    167167                } else { 
    168                         contextCopy = new LinkedList<Event<?>>(context); 
    169                 } 
    170  
    171                 Collection<Event<?>> followers = trie.getFollowingSymbols(contextCopy); // \Sigma' 
     168                        contextCopy = new LinkedList<Event>(context); 
     169                } 
     170 
     171                Collection<Event> followers = trie.getFollowingSymbols(contextCopy); // \Sigma' 
    172172                int sumCountFollowers = 0; // N(s\sigma') 
    173                 for (Event<?> follower : followers) { 
     173                for (Event follower : followers) { 
    174174                        sumCountFollowers += trie.getCount(contextCopy, follower); 
    175175                } 
  • trunk/quest-core-usageprofiles/src/main/java/de/ugoe/cs/quest/usageprofiles/TrieBasedModel.java

    r518 r547  
    4949         * </p> 
    5050         */ 
    51         protected Trie<Event<?>> trie = null; 
     51        protected Trie<Event> trie = null; 
    5252 
    5353        /** 
     
    101101         *             thrown is sequences is null 
    102102         */ 
    103         public void train(Collection<List<? extends Event<?>>> sequences) { 
     103        public void train(Collection<List<Event>> sequences) { 
    104104                trie = null; 
    105105                update(sequences); 
     
    119119         *             thrown is sequences is null 
    120120         */ 
    121         public void update(Collection<List<? extends Event<?>>> sequences) { 
     121        public void update(Collection<List<Event>> sequences) { 
    122122                if (sequences == null) { 
    123123                        throw new InvalidParameterException("sequences must not be null"); 
    124124                } 
    125125                if (trie == null) { 
    126                         trie = new Trie<Event<?>>(); 
    127                 } 
    128                 for (List<? extends Event<?>> sequence : sequences) { 
    129                         List<Event<?>> currentSequence = new LinkedList<Event<?>>(sequence); // defensive 
     126                        trie = new Trie<Event>(); 
     127                } 
     128                for (List<Event> sequence : sequences) { 
     129                        List<Event> currentSequence = new LinkedList<Event>(sequence); // defensive 
    130130                                                                                                                                                                        // copy 
    131131                        currentSequence.add(0, Event.STARTEVENT); 
     
    142142         */ 
    143143        @Override 
    144         public List<? extends Event<?>> randomSequence() { 
     144        public List<Event> randomSequence() { 
    145145                return randomSequence(Integer.MAX_VALUE, true); 
    146146        } 
     
    152152         */ 
    153153        @Override 
    154         public List<? extends Event<?>> randomSequence(int maxLength, 
     154        public List<Event> randomSequence(int maxLength, 
    155155                        boolean validEnd) { 
    156                 List<Event<?>> sequence = new LinkedList<Event<?>>(); 
     156                List<Event> sequence = new LinkedList<Event>(); 
    157157                if (trie != null) { 
    158158                        boolean endFound = false; 
    159159                        while (!endFound) { // outer loop for length checking 
    160                                 sequence = new LinkedList<Event<?>>(); 
    161                                 IncompleteMemory<Event<?>> context = new IncompleteMemory<Event<?>>( 
     160                                sequence = new LinkedList<Event>(); 
     161                                IncompleteMemory<Event> context = new IncompleteMemory<Event>( 
    162162                                                trieOrder - 1); 
    163163                                context.add(Event.STARTEVENT); 
     
    166166                                        double randVal = r.nextDouble(); 
    167167                                        double probSum = 0.0; 
    168                                         List<Event<?>> currentContext = context.getLast(trieOrder); 
    169                                         for (Event<?> symbol : trie.getKnownSymbols()) { 
     168                                        List<Event> currentContext = context.getLast(trieOrder); 
     169                                        for (Event symbol : trie.getKnownSymbols()) { 
    170170                                                probSum += getProbability(currentContext, symbol); 
    171171                                                if (probSum >= randVal) { 
     
    262262                String[] stateStrings = new String[getNumSymbols()]; 
    263263                int i = 0; 
    264                 for (Event<?> symbol : trie.getKnownSymbols()) { 
     264                for (Event symbol : trie.getKnownSymbols()) { 
    265265                        if (symbol.toString() == null) { 
    266266                                stateStrings[i] = "null"; 
     
    279279         */ 
    280280        @Override 
    281         public Collection<? extends Event<?>> getEvents() { 
    282                 if (trie == null) { 
    283                         return new HashSet<Event<?>>(); 
     281        public Collection<Event> getEvents() { 
     282                if (trie == null) { 
     283                        return new HashSet<Event>(); 
    284284                } else { 
    285285                        return trie.getKnownSymbols(); 
     
    294294         */ 
    295295        @Override 
    296         public Collection<List<? extends Event<?>>> generateSequences(int length) { 
     296        public Collection<List<Event>> generateSequences(int length) { 
    297297                return generateSequences(length, false); 
    298298        } 
     
    306306         */ 
    307307        @Override 
    308         public Set<List<? extends Event<?>>> generateSequences(int length, 
     308        public Set<List<Event>> generateSequences(int length, 
    309309                        boolean fromStart) { 
    310                 Set<List<? extends Event<?>>> sequenceSet = new LinkedHashSet<List<? extends Event<?>>>(); 
     310                Set<List<Event>> sequenceSet = new LinkedHashSet<List<Event>>(); 
    311311                if (length < 1) { 
    312312                        throw new InvalidParameterException( 
     
    315315                if (length == 1) { 
    316316                        if (fromStart) { 
    317                                 List<Event<?>> subSeq = new LinkedList<Event<?>>(); 
     317                                List<Event> subSeq = new LinkedList<Event>(); 
    318318                                subSeq.add(Event.STARTEVENT); 
    319319                                sequenceSet.add(subSeq); 
    320320                        } else { 
    321                                 for (Event<?> event : getEvents()) { 
    322                                         List<Event<?>> subSeq = new LinkedList<Event<?>>(); 
     321                                for (Event event : getEvents()) { 
     322                                        List<Event> subSeq = new LinkedList<Event>(); 
    323323                                        subSeq.add(event); 
    324324                                        sequenceSet.add(subSeq); 
     
    327327                        return sequenceSet; 
    328328                } 
    329                 Collection<? extends Event<?>> events = getEvents(); 
    330                 Collection<List<? extends Event<?>>> seqsShorter = generateSequences( 
     329                Collection<Event> events = getEvents(); 
     330                Collection<List<Event>> seqsShorter = generateSequences( 
    331331                                length - 1, fromStart); 
    332                 for (Event<?> event : events) { 
    333                         for (List<? extends Event<?>> seqShorter : seqsShorter) { 
    334                                 Event<?> lastEvent = event; 
     332                for (Event event : events) { 
     333                        for (List<Event> seqShorter : seqsShorter) { 
     334                                Event lastEvent = event; 
    335335                                if (getProbability(seqShorter, lastEvent) > 0.0) { 
    336                                         List<Event<?>> subSeq = new ArrayList<Event<?>>(seqShorter); 
     336                                        List<Event> subSeq = new ArrayList<Event>(seqShorter); 
    337337                                        subSeq.add(lastEvent); 
    338338                                        sequenceSet.add(subSeq); 
     
    351351         */ 
    352352        @Override 
    353         public Collection<List<? extends Event<?>>> generateValidSequences( 
     353        public Collection<List<Event>> generateValidSequences( 
    354354                        int length) { 
    355355                // check for min-length implicitly done by generateSequences 
    356                 Collection<List<? extends Event<?>>> allSequences = generateSequences( 
     356                Collection<List<Event>> allSequences = generateSequences( 
    357357                                length, true); 
    358                 Collection<List<? extends Event<?>>> validSequences = new LinkedHashSet<List<? extends Event<?>>>(); 
    359                 for (List<? extends Event<?>> sequence : allSequences) { 
     358                Collection<List<Event>> validSequences = new LinkedHashSet<List<Event>>(); 
     359                for (List<Event> sequence : allSequences) { 
    360360                        if (sequence.size() == length 
    361361                                        && Event.ENDEVENT.equals(sequence.get(sequence.size() - 1))) { 
     
    374374         */ 
    375375        @Override 
    376         public double getProbability(List<? extends Event<?>> sequence) { 
     376        public double getProbability(List<Event> sequence) { 
    377377                if (sequence == null) { 
    378378                        throw new InvalidParameterException("sequence must not be null"); 
    379379                } 
    380380                double prob = 1.0; 
    381                 List<Event<?>> context = new LinkedList<Event<?>>(); 
    382                 for (Event<?> event : sequence) { 
     381                List<Event> context = new LinkedList<Event>(); 
     382                for (Event event : sequence) { 
    383383                        prob *= getProbability(context, event); 
    384384                        context.add(event); 
Note: See TracChangeset for help on using the changeset viewer.