@Test public void testMaxMax() { logger.info("maxMax"); DataTable2D payoffMatrix = generatePayoffMatrix(); Map.Entry<Object, Object> expResult = new AbstractMap.SimpleEntry<>("A4", 1000.0); Map.Entry<Object, Object> result = DecisionCriteria.maxMax(payoffMatrix); assertEquals(expResult, result); }
public static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix) { if(payoffMatrix.isValid()==false) { throw new IllegalArgumentException("The payoff matrix does not have a rectangular format."); } Double maxMaxPayoff = Double.NEGATIVE_INFINITY; Object maxMaxPayoffOption = null; for(Map.Entry<Object, AssociativeArray> entry : payoffMatrix.entrySet()) { AssociativeArray optionList = entry.getValue(); for(Map.Entry<Object, Object> entry2 : optionList.entrySet()) { Double payoff = TypeInference.toDouble(entry2.getValue()); if(payoff>maxMaxPayoff) { maxMaxPayoff=payoff; maxMaxPayoffOption = entry2.getKey(); } } } return new AbstractMap.SimpleEntry<>(maxMaxPayoffOption, maxMaxPayoff); }
DecisionCriteria { public static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix) { if(payoffMatrix.isValid()==false) { throw new IllegalArgumentException("The payoff matrix does not have a rectangular format."); } Double maxMaxPayoff = Double.NEGATIVE_INFINITY; Object maxMaxPayoffOption = null; for(Map.Entry<Object, AssociativeArray> entry : payoffMatrix.entrySet()) { AssociativeArray optionList = entry.getValue(); for(Map.Entry<Object, Object> entry2 : optionList.entrySet()) { Double payoff = TypeInference.toDouble(entry2.getValue()); if(payoff>maxMaxPayoff) { maxMaxPayoff=payoff; maxMaxPayoffOption = entry2.getKey(); } } } return new AbstractMap.SimpleEntry<>(maxMaxPayoffOption, maxMaxPayoff); } }
DecisionCriteria { public static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix) { if(payoffMatrix.isValid()==false) { throw new IllegalArgumentException("The payoff matrix does not have a rectangular format."); } Double maxMaxPayoff = Double.NEGATIVE_INFINITY; Object maxMaxPayoffOption = null; for(Map.Entry<Object, AssociativeArray> entry : payoffMatrix.entrySet()) { AssociativeArray optionList = entry.getValue(); for(Map.Entry<Object, Object> entry2 : optionList.entrySet()) { Double payoff = TypeInference.toDouble(entry2.getValue()); if(payoff>maxMaxPayoff) { maxMaxPayoff=payoff; maxMaxPayoffOption = entry2.getKey(); } } } return new AbstractMap.SimpleEntry<>(maxMaxPayoffOption, maxMaxPayoff); }  }
DecisionCriteria { public static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix) { if(payoffMatrix.isValid()==false) { throw new IllegalArgumentException("The payoff matrix does not have a rectangular format."); } Double maxMaxPayoff = Double.NEGATIVE_INFINITY; Object maxMaxPayoffOption = null; for(Map.Entry<Object, AssociativeArray> entry : payoffMatrix.entrySet()) { AssociativeArray optionList = entry.getValue(); for(Map.Entry<Object, Object> entry2 : optionList.entrySet()) { Double payoff = TypeInference.toDouble(entry2.getValue()); if(payoff>maxMaxPayoff) { maxMaxPayoff=payoff; maxMaxPayoffOption = entry2.getKey(); } } } return new AbstractMap.SimpleEntry<>(maxMaxPayoffOption, maxMaxPayoff); }  static Map.Entry<Object, Object> maxMin(DataTable2D payoffMatrix); static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix); static Map.Entry<Object, Object> savage(DataTable2D payoffMatrix); static Map.Entry<Object, Object> laplace(DataTable2D payoffMatrix); static Map.Entry<Object, Object> hurwiczAlpha(DataTable2D payoffMatrix, double alpha); static Map.Entry<Object, Object> maximumLikelihood(DataTable2D payoffMatrix, AssociativeArray eventProbabilities); static Map.Entry<Object, Object> bayes(DataTable2D payoffMatrix, AssociativeArray eventProbabilities); }
DecisionCriteria { public static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix) { if(payoffMatrix.isValid()==false) { throw new IllegalArgumentException("The payoff matrix does not have a rectangular format."); } Double maxMaxPayoff = Double.NEGATIVE_INFINITY; Object maxMaxPayoffOption = null; for(Map.Entry<Object, AssociativeArray> entry : payoffMatrix.entrySet()) { AssociativeArray optionList = entry.getValue(); for(Map.Entry<Object, Object> entry2 : optionList.entrySet()) { Double payoff = TypeInference.toDouble(entry2.getValue()); if(payoff>maxMaxPayoff) { maxMaxPayoff=payoff; maxMaxPayoffOption = entry2.getKey(); } } } return new AbstractMap.SimpleEntry<>(maxMaxPayoffOption, maxMaxPayoff); }  static Map.Entry<Object, Object> maxMin(DataTable2D payoffMatrix); static Map.Entry<Object, Object> maxMax(DataTable2D payoffMatrix); static Map.Entry<Object, Object> savage(DataTable2D payoffMatrix); static Map.Entry<Object, Object> laplace(DataTable2D payoffMatrix); static Map.Entry<Object, Object> hurwiczAlpha(DataTable2D payoffMatrix, double alpha); static Map.Entry<Object, Object> maximumLikelihood(DataTable2D payoffMatrix, AssociativeArray eventProbabilities); static Map.Entry<Object, Object> bayes(DataTable2D payoffMatrix, AssociativeArray eventProbabilities);  }