import java.util.*; import edu.neu.ccs.satsolver.*; import edu.neu.ccs.satsolver.util.*; public class InitialObject implements InputInitialI { ArrayList relNames = new ArrayList (); FCSP fInit; public InitialObject (FCSP f) { this.fInit = f; } public Set getPairs () { HashSet result = new HashSet(); popRelNames (); relNames.trimToSize(); int startSize = relNames.size(); for (int rnIndex = 0; rnIndex < relNames.size() -1; rnIndex++) { int count; for (count = 0; relNames.contains(relNames.get(rnIndex)); count++) { Object o = relNames.get(rnIndex); relNames.remove(o); } double quotient = count/startSize; Integer relName = relNames.get(rnIndex); PairObject p = new PairObject(relName, quotient); result.add(p); } return result; } private void popRelNames () { for (int index = 0; index < fInit.size() -1; index ++) { int relName = fInit.get(index).getRelationName(); if (!relNames.contains(relName)) { relNames.add(relName); } } } }