public EdgesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByEdge = new THashMap(); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int v1idx = 0; v1idx < clique.size(); v1idx++) { Variable v1 = clique.get(v1idx); List adjlist = graph.allFactorsContaining (v1); for (Iterator factorIt = adjlist.iterator(); factorIt.hasNext();) { Factor factor = (Factor) factorIt.next (); if (!cliquesByEdge.containsKey (factor)) { cliquesByEdge.put (factor, new ArrayList()); } List l = (List) cliquesByEdge.get (factor); if (!l.contains (clique)) { l.add (clique); } } } } cursor = cliquesByEdge.keySet().iterator (); }
public VariablesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByVar = new List[graph.numVariables ()]; for (int i = 0; i < cliquesByVar.length; i++) cliquesByVar[i] = new ArrayList (); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int vidx = 0; vidx < clique.size(); vidx++) { Variable var = clique.get(vidx); cliquesByVar[graph.getIndex (var)].add (clique); } } }
public VariablesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByVar = new List[graph.numVariables ()]; for (int i = 0; i < cliquesByVar.length; i++) cliquesByVar[i] = new ArrayList (); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int vidx = 0; vidx < clique.size(); vidx++) { Variable var = clique.get(vidx); cliquesByVar[graph.getIndex (var)].add (clique); } } }
if (marg.value (assnIt) > wrongWrongThreshold) { Assignment assn = assnIt.assignment (); for (int vi = 0; vi < vs.size (); vi++) { Variable var = vs.get (vi); if (isWrong2RightAssn (target, assn, var)) {
if (marg.value (assnIt) > wrongWrongThreshold) { Assignment assn = assnIt.assignment (); for (int vi = 0; vi < vs.size (); vi++) { Variable var = vs.get (vi); if (isWrong2RightAssn (target, assn, var)) {
if (tidx == -1) continue; for (int vi = 0; vi < clique.size (); vi++) { Variable target = clique.get (vi); value += computeValueGradientForAssn (observations, clique, target);
if (tidx == -1) continue; for (int vi = 0; vi < clique.size (); vi++) { Variable target = clique.get (vi); value += computeValueGradientForAssn (observations, clique, target);
if (tidx == -1) continue; for (int vi = 0; vi < clique.size (); vi++) { Variable target = clique.get (vi); value += computeValueGradientForAssn (observations, clique, target);
private void checkCliqueSizeConsistent (InstanceList training) { int weight = -1; for (int i = 0; i < training.size(); i++) { Instance instance = training.get (i); UnrolledGraph unrolled = new UnrolledGraph (instance, new Template[] { this }, null, false); for (Iterator it = unrolled.unrolledVarSetIterator (); it.hasNext();) { UnrolledVarSet clique = (UnrolledVarSet) it.next (); if (clique.tmpl == this) { if (weight != clique.weight ()) { System.err.println ("Weight change for clique "+clique+" template "+this+" old = "+weight+" new "+clique.weight ()); for (int vi = 0; vi < clique.size(); vi++) { Variable var = clique.get(vi); System.err.println (var+"\t"+var.getNumOutcomes()); } if (weight == -1) { weight = clique.weight (); } else { throw new IllegalStateException ("Error on instance "+instance+": Template "+this+" clique "+clique+" error. Strange weight: was "+weight+" now is "+clique.weight()); } } } } } } private void addInCurrentWeights (BitSet[] weightsPresent)
private void checkCliqueSizeConsistent (InstanceList training) { int weight = -1; for (int i = 0; i < training.size(); i++) { Instance instance = training.get (i); UnrolledGraph unrolled = new UnrolledGraph (instance, new Template[] { this }, null, false); for (Iterator it = unrolled.unrolledVarSetIterator (); it.hasNext();) { UnrolledVarSet clique = (UnrolledVarSet) it.next (); if (clique.tmpl == this) { if (weight != clique.weight ()) { System.err.println ("Weight change for clique "+clique+" template "+this+" old = "+weight+" new "+clique.weight ()); for (int vi = 0; vi < clique.size(); vi++) { Variable var = clique.get(vi); System.err.println (var+"\t"+var.getNumOutcomes()); } if (weight == -1) { weight = clique.weight (); } else { throw new IllegalStateException ("Error on instance "+instance+": Template "+this+" clique "+clique+" error. Strange weight: was "+weight+" now is "+clique.weight()); } } } } } } private void addInCurrentWeights (BitSet[] weightsPresent)
private void checkCliqueSizeConsistent (InstanceList training) { int weight = -1; for (int i = 0; i < training.size(); i++) { Instance instance = training.get (i); UnrolledGraph unrolled = new UnrolledGraph (instance, new Template[] { this }, null, false); for (Iterator it = unrolled.unrolledVarSetIterator (); it.hasNext();) { UnrolledVarSet clique = (UnrolledVarSet) it.next (); if (clique.tmpl == this) { if (weight != clique.weight ()) { System.err.println ("Weight change for clique "+clique+" template "+this+" old = "+weight+" new "+clique.weight ()); for (int vi = 0; vi < clique.size(); vi++) { Variable var = clique.get(vi); System.err.println (var+"\t"+var.getNumOutcomes()); } if (weight == -1) { weight = clique.weight (); } else { throw new IllegalStateException ("Error on instance "+instance+": Template "+this+" clique "+clique+" error. Strange weight: was "+weight+" now is "+clique.weight()); } } } } } } private void addInCurrentWeights (BitSet[] weightsPresent)
public EdgesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByEdge = new THashMap(); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int v1idx = 0; v1idx < clique.size(); v1idx++) { Variable v1 = clique.get(v1idx); List adjlist = graph.allFactorsContaining (v1); for (Iterator factorIt = adjlist.iterator(); factorIt.hasNext();) { Factor factor = (Factor) factorIt.next (); if (!cliquesByEdge.containsKey (factor)) { cliquesByEdge.put (factor, new ArrayList()); } List l = (List) cliquesByEdge.get (factor); if (!l.contains (clique)) { l.add (clique); } } } } cursor = cliquesByEdge.keySet().iterator (); }
public EdgesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByEdge = new THashMap(); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int v1idx = 0; v1idx < clique.size(); v1idx++) { Variable v1 = clique.get(v1idx); List adjlist = graph.allFactorsContaining (v1); for (Iterator factorIt = adjlist.iterator(); factorIt.hasNext();) { Factor factor = (Factor) factorIt.next (); if (!cliquesByEdge.containsKey (factor)) { cliquesByEdge.put (factor, new ArrayList()); } List l = (List) cliquesByEdge.get (factor); if (!l.contains (clique)) { l.add (clique); } } } } cursor = cliquesByEdge.keySet().iterator (); }
public VariablesIterator (ACRF.UnrolledGraph acrf, Assignment observed) { this.graph = acrf; this.observed = observed; cliquesByVar = new List[graph.numVariables ()]; for (int i = 0; i < cliquesByVar.length; i++) cliquesByVar[i] = new ArrayList (); for (Iterator it = acrf.unrolledVarSetIterator (); it.hasNext();) { ACRF.UnrolledVarSet clique = (ACRF.UnrolledVarSet) it.next (); for (int vidx = 0; vidx < clique.size(); vidx++) { Variable var = clique.get(vidx); cliquesByVar[graph.getIndex (var)].add (clique); } } }