@Override public Collection<Object> getCurrentActivationIds() { return designSpaceManager.getTransitionsFromCurrentState(); }
public static boolean tryFireRightTransition(DesignSpaceManager dsm, Object transition) { for (Object t : dsm.getTransitionsFromCurrentState()) { if (t.equals(transition)) { return dsm.tryFireActivation(t); } } return false; }
public boolean executeRandomActivationId() { Collection<Object> transitions = getTransitionsFromCurrentState(); int size = transitions.size(); if (size == 0) { return false; } int index = random.nextInt(size); Iterator<Object> iterator = transitions.iterator(); for (int i = 0; i < index; ++i) { iterator.next(); } Object transition = iterator.next(); fireActivation(transition); return true; }
@Override public boolean mutate(TrajectoryFitness parent, ThreadContext context) { DesignSpaceManager dsm = context.getDesignSpaceManager(); context.executeTrajectoryWithMinimalBacktrackWithoutStateCoding(parent.trajectory); Collection<Object> transitions = dsm.getTransitionsFromCurrentState(); int size = transitions.size(); if (size == 0) { return false; } int bestPriority = Integer.MIN_VALUE; for (Object iTransition : transitions) { int priority = priorities.get(dsm.getRuleByActivationId(iTransition)).intValue(); if (priority > bestPriority) { bestPriority = priority; } } List<Object> bestTrasitions = new ArrayList<>(); for (Object iTransition : transitions) { if (priorities.get(dsm.getRuleByActivationId(iTransition)).intValue() == bestPriority) { bestTrasitions.add(iTransition); } } int index = rnd.nextInt(bestTrasitions.size()); Object transition = bestTrasitions.get(index); dsm.fireActivation(transition); return true; }
Collection<Object> transitions = dsm.getTransitionsFromCurrentState(); int transitionsSize = transitions.size(); if (transitionsSize < 1) {
Object[] transitions = dsm.getTransitionsFromCurrentState().toArray();