Changeset 2026 for trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe
- Timestamp:
- 07/23/15 13:43:38 (9 years ago)
- Location:
- trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/IStochasticProcess.java
r1641 r2026 61 61 */ 62 62 double getProbability(List<Event> sequence); 63 64 /** 65 * <p> 66 * Returns the sum of the negative logarithm of the probabilities. 67 * </p> 68 * 63 64 /** 65 * <p> 66 * Returns the sum of the negative logarithm of the probabilities. 67 * </p> 68 * 69 69 * @param sequence 70 70 * sequences of which the logsum is calculated … … 101 101 * @param validEnd 102 102 * if true, only sequences that finish with {@link Event#ENDEVENT} are generated 103 * @param maxIter 104 * maximum number of attempts for the generation of the sequence; in case of failure 105 * and empty sequence is returned 103 106 * @return randomly generated sequence 104 107 * 105 108 */ 106 public List<Event> randomSequence(int maxLength, boolean validEnd );109 public List<Event> randomSequence(int maxLength, boolean validEnd, long maxIter); 107 110 108 111 /** -
trunk/autoquest-core-usageprofiles/src/main/java/de/ugoe/cs/autoquest/usageprofiles/TrieBasedModel.java
r1996 r2026 147 147 @Override 148 148 public List<Event> randomSequence() { 149 return randomSequence(Integer.MAX_VALUE, true );149 return randomSequence(Integer.MAX_VALUE, true, 100); 150 150 } 151 151 … … 156 156 */ 157 157 @Override 158 public List<Event> randomSequence(int maxLength, boolean validEnd ) {158 public List<Event> randomSequence(int maxLength, boolean validEnd, long maxIter) { 159 159 List<Event> sequence = new LinkedList<Event>(); 160 int attempts = 0; 160 161 if (trie != null) { 161 162 boolean endFound = false; 162 while (!endFound) { // outer loop for length checking 163 sequence = new LinkedList<Event>(); 163 while (!endFound && attempts <= maxIter) { // outer loop for length checking 164 164 IncompleteMemory<Event> context = new IncompleteMemory<Event>(trieOrder - 1); 165 165 context.add(Event.STARTEVENT); … … 186 186 } 187 187 } 188 if (!endFound) { 189 sequence = new LinkedList<Event>(); 190 } 191 attempts++; 188 192 } 189 193 } … … 398 402 List<Event> context = new LinkedList<Event>(); 399 403 for (Event event : sequence) { 400 odds += Math.log(getProbability(context, event) +1);404 odds += Math.log(getProbability(context, event) + 1); 401 405 context.add(event); 402 406 }
Note: See TracChangeset
for help on using the changeset viewer.