Ignore:
Timestamp:
07/04/11 10:35:39 (13 years ago)
Author:
sherbold
Message:
  • moved generation of all possible sequences of a fixed length from de.ugoe.cs.eventbench.coverage.CoverageCalculator? to de.ugoe.cs.eventbench.models.IStochasticProcess
Location:
trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models
Files:
5 edited

Legend:

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

    r92 r93  
    1919 
    2020        @Override 
    21         public double getProbability(List<Event<?>> context, Event<?> symbol) { 
     21        public double getProbability(List<? extends Event<?>> context, Event<?> symbol) { 
    2222                double result = 0.0d; 
    2323                 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/HighOrderMarkovModel.java

    r86 r93  
    1919         
    2020        @Override 
    21         public double getProbability(List<Event<?>> context, Event<?> symbol) { 
     21        public double getProbability(List<? extends Event<?>> context, Event<?> symbol) { 
    2222                double result = 0.0d; 
    2323                 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/IStochasticProcess.java

    r86 r93  
    99public interface IStochasticProcess extends Serializable { 
    1010         
    11         double getProbability(List<Event<?>> context, Event<?> symbol); 
     11        double getProbability(List<? extends Event<?>> context, Event<?> symbol); 
    1212 
    1313        public List<? extends Event<?>> randomSequence(); 
     14         
     15        public Set<List<? extends Event<?>>> generateSequences(int length); 
    1416         
    1517        public int getNumStates(); 
     
    1719        public String[] getStateStrings(); 
    1820         
    19         public Set<Event<?>> getEvents(); 
     21        public Set<? extends Event<?>> getEvents(); 
    2022 
    2123} 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/PredictionByPartialMatch.java

    r86 r93  
    3434         
    3535        @Override 
    36         public double getProbability(List<Event<?>> context, Event<?> symbol) { 
     36        public double getProbability(List<? extends Event<?>> context, Event<?> symbol) { 
    3737                double result = 0.0d; 
    3838                double resultCurrentContex = 0.0d; 
  • trunk/EventBenchCore/src/de/ugoe/cs/eventbench/models/TrieBasedModel.java

    r86 r93  
    11package de.ugoe.cs.eventbench.models; 
    22 
     3import java.security.InvalidParameterException; 
     4import java.util.ArrayList; 
     5import java.util.LinkedHashSet; 
    36import java.util.LinkedList; 
    47import java.util.List; 
     
    104107        } 
    105108         
    106         public Set<Event<?>> getEvents() { 
     109        public Set<? extends Event<?>> getEvents() { 
    107110                return trie.getKnownSymbols(); 
     111        } 
     112         
     113        public Set<List<? extends Event<?>>> generateSequences(int length) { 
     114                Set<List<? extends Event<?>>> sequenceSet = new LinkedHashSet<List<? extends Event<?>>>();; 
     115                if( length<1 ) { 
     116                        throw new InvalidParameterException("Length of generated subsequences must be at least 1."); 
     117                } 
     118                if( length==1 ) { 
     119                        for( Event<?> event : getEvents() ) { 
     120                                List<Event<?>> subSeq = new LinkedList<Event<?>>(); 
     121                                subSeq.add(event); 
     122                                sequenceSet.add(subSeq); 
     123                        } 
     124                        return sequenceSet; 
     125                } 
     126                Set<? extends Event<?>> events = getEvents(); 
     127                Set<List<? extends Event<?>>> seqsShorter = generateSequences(length-1); 
     128                for( Event<?> event : events ) { 
     129                        for( List<? extends Event<?>> seqShorter : seqsShorter ) { 
     130                                Event<?> lastEvent = event; 
     131                                if( getProbability(seqShorter, lastEvent)>0.0 ) { 
     132                                        List<Event<?>> subSeq = new ArrayList<Event<?>>(seqShorter); 
     133                                        subSeq.add(lastEvent); 
     134                                        sequenceSet.add(subSeq); 
     135                                } 
     136                        } 
     137                } 
     138                return sequenceSet; 
    108139        } 
    109140 
Note: See TracChangeset for help on using the changeset viewer.