Changeset 80 for trunk/EventBenchCore


Ignore:
Timestamp:
06/22/11 14:12:18 (14 years ago)
Author:
sherbold
Message:
  • added getProbability() to de.ugoe.cs.eventbench.models.IStochasticProcess and implementing classes
  • added getEvents() to de.ugoe.cs.eventbench.models.IStochasticProcess and implementing classes
  • changed getProbability() of subclasses of de.ugoe.cs.eventbench.TrieBasedModel? such that the probability is not zero if the context length is higher than the order of the model, but rather the probability of the suffix of the length of the order, i.e., for a 2nd-order model context(X1,X2,X3,X4) becomes context(X3,X4)
Location:
trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/HighOrderMarkovModel.java

    r13 r80  
    1212                super(maxOrder, r); 
    1313        } 
    14                  
     14         
    1515        @Override 
    16         protected double getProbability(List<Event<?>> context, Event<?> symbol) { 
     16        public double getProbability(List<Event<?>> context, Event<?> symbol) { 
    1717                double result = 0.0d; 
    1818                 
    19                 List<Event<?>> contextCopy = new LinkedList<Event<?>>(context); 
     19                List<Event<?>> contextCopy; 
     20                if( context.size()>=trieOrder ) { 
     21                        contextCopy = new LinkedList<Event<?>>(context.subList(context.size()-trieOrder+1, context.size())); 
     22                } else { 
     23                        contextCopy = new LinkedList<Event<?>>(context); 
     24                } 
    2025 
    2126         
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java

    r70 r80  
    22 
    33import java.util.List; 
     4import java.util.Set; 
    45 
    56import de.ugoe.cs.eventbench.data.Event; 
    67 
    78public interface IStochasticProcess { 
     9         
     10        double getProbability(List<Event<?>> context, Event<?> symbol); 
    811 
    912        public List<? extends Event<?>> randomSequence(); 
     
    1215         
    1316        public String[] getStateStrings(); 
     17         
     18        public Set<Event<?>> getEvents(); 
    1419 
    1520} 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/PredictionByPartialMatch.java

    r22 r80  
    2929         
    3030        @Override 
    31         protected double getProbability(List<Event<?>> context, Event<?> symbol) { 
     31        public double getProbability(List<Event<?>> context, Event<?> symbol) { 
    3232                double result = 0.0d; 
    3333                double resultCurrentContex = 0.0d; 
    3434                double resultShorterContex = 0.0d; 
    3535                 
    36                 List<Event<?>> contextCopy = new LinkedList<Event<?>>(context); // defensive copy 
     36                List<Event<?>> contextCopy; 
     37                if( context.size()>=trieOrder ) { 
     38                        contextCopy = new LinkedList<Event<?>>(context.subList(context.size()-trieOrder+1, context.size())); 
     39                } else { 
     40                        contextCopy = new LinkedList<Event<?>>(context); 
     41                } 
    3742 
    3843         
     
    4752                        resultCurrentContex = ((double) countSymbol) / sumCountFollowers; 
    4853                } else { 
    49                         resultCurrentContex = ((double) countSymbol / sumCountFollowers)*(1-probEscape); 
     54                        if( sumCountFollowers==0 ) { 
     55                                resultCurrentContex = 0.0; 
     56                        } 
     57                        else { 
     58                                resultCurrentContex = ((double) countSymbol / sumCountFollowers)*(1-probEscape); 
     59                        } 
    5060                        contextCopy.remove(0);  
    5161                        double probSuffix = getProbability(contextCopy, symbol); 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java

    r70 r80  
    44import java.util.List; 
    55import java.util.Random; 
     6import java.util.Set; 
    67 
    78import de.ugoe.cs.eventbench.data.Event; 
     
    1314 
    1415        protected int trieOrder; 
    15  
    16         protected abstract double getProbability(List<Event<?>> context, Event<?> symbol); 
    1716 
    1817        protected Trie<Event<?>> trie; 
     
    9998                return stateStrings; 
    10099        } 
     100         
     101        public Set<Event<?>> getEvents() { 
     102                return trie.getKnownSymbols(); 
     103        } 
    101104 
    102105} 
Note: See TracChangeset for help on using the changeset viewer.