Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsreyes <sreyes@dataworks.com.py>2014-09-21 13:36:23 (GMT)
committer sreyes <sreyes@dataworks.com.py>2014-09-21 13:36:23 (GMT)
commitb37830031343ba738c5e8e0f5b89dcb7d5dac230 (patch)
treeb0d54f4829e179e0cb7341458b0044a56897a3ae
parente78234da8c2eff861f7ea03174996fbecddb8acf (diff)
random para definir utilidades iguales
-rw-r--r--EjercitarServer/ejbModule/beans/EjercitarWSBean.java36
1 files changed, 21 insertions, 15 deletions
diff --git a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
index 15ad226..4cfbb13 100644
--- a/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
+++ b/EjercitarServer/ejbModule/beans/EjercitarWSBean.java
@@ -195,20 +195,20 @@ public class EjercitarWSBean implements EjercitarWSRemote {
Ejercicio ejercicio = null;
System.out.println("cantidad concepto: " + conceptoList.size() + " de la tarea: " + tarea.getDescripcion());
for (Concepto concepto : conceptoList) {
- System.out.println("concepto " + concepto.getNombre());
+ //System.out.println("concepto " + concepto.getNombre());
Network net1 = new Network();
String nombreRed = "red_alumno_" + alumno.getIdAlumno() + "_asignatura_" + tarea.getAsignatura().getIdAsignatura() +".xdsl";
- System.out.println("seleccionUtilidadMax - /home/redes/" + nombreRed);
+ //System.out.println("seleccionUtilidadMax - /home/redes/" + nombreRed);
net1.readFile("/home/redes/" + nombreRed);
net1.updateBeliefs();
String nombreConcepto = concepto.getNombre();
double [] values = net1.getNodeValue(nombreConcepto);
- System.out.println("values");
+ //System.out.println("values");
- System.out.println(" pC0: " + values[0]);
- System.out.println(" pC1: " + values[1]);
+ //System.out.println(" pC0: " + values[0]);
+ //System.out.println(" pC1: " + values[1]);
double pC1 = values[1]; // P(C=1)
@@ -217,7 +217,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
List<Ejercicio> ejercicios = concepto.getEjercicioList();
- System.out.println("cantidad ejercicio: " + ejercicios.size());
+ //System.out.println("cantidad ejercicio: " + ejercicios.size());
for(Ejercicio ejercicioConcepto : ejercicios){
String nombreEjercicio = "E" + ejercicioConcepto.getIdEjercicio();
@@ -226,13 +226,13 @@ public class EjercitarWSBean implements EjercitarWSRemote {
double pE0 = values[0]; // P(E=0)
- System.out.println("nombreEjercicio: " + nombreEjercicio);
+ //System.out.println("nombreEjercicio: " + nombreEjercicio);
net1.setEvidence(nombreConcepto, "Conoce");
net1.updateBeliefs();
values = net1.getNodeValue(nombreEjercicio);
- System.out.println("values " + values);
+ //System.out.println("values " + values);
double pE1C1 = values[1]; // P(E=1/C=1)
- System.out.println("pE1C1: " + pE1C1);
+ //System.out.println("pE1C1: " + pE1C1);
double pAuxi1 = pE1C1-pE1; //P(E=1/C=1) - P(E=1)
double utilidadParcial1 = pAuxi1 * pC1;
System.out.println("utilidadParcial1: " + utilidadParcial1);
@@ -244,22 +244,28 @@ public class EjercitarWSBean implements EjercitarWSRemote {
System.out.println("values_ " + values);
double pE0C0 = values[0]; // P(E=0/C=0)
- System.out.println("pE0C0: " + pE0C0);
+ //System.out.println("pE0C0: " + pE0C0);
double pAuxi0 = pE0C0-pE0; //P(E=0/C=0) - P(E=0)
double utilidadParcial2 = pAuxi0 * pC0;
- System.out.println("utilidadParcial2: " + utilidadParcial2);
+ //System.out.println("utilidadParcial2: " + utilidadParcial2);
double utilidadMaxParcial = utilidadParcial1 + utilidadParcial2;
if(utilidadMaxParcial > utilidadMax) {
utilidadMax = utilidadMaxParcial;
ejercicio = ejercicioConcepto;
+ } else if (utilidadMaxParcial == utilidadMax) {
+ Random rnd = new Random();
+ int eleccion = rnd.nextInt(2);
+ if (eleccion == 1) {
+ ejercicio = ejercicioConcepto;
+ }
}
hUtilidades.put(utilidadMaxParcial, ejercicioConcepto);
- System.out.println("utilidadMax: " + utilidadMax);
- System.out.println("utilidadMaxParcial: " + utilidadMaxParcial);
+ //System.out.println("utilidadMax: " + utilidadMax);
+ //System.out.println("utilidadMaxParcial: " + utilidadMaxParcial);
}
}
- System.out.println(hUtilidades);
+ //System.out.println(hUtilidades);
TreeMap<Double, Ejercicio> tUtilidades = new TreeMap<Double, Ejercicio>(hUtilidades);
System.out.println(tUtilidades);
@@ -420,7 +426,7 @@ public class EjercitarWSBean implements EjercitarWSRemote {
public void corregirProbabilidadesEjercicios() {
- Asignatura asignatura = em.find(Asignatura.class, 13);
+ Asignatura asignatura = em.find(Asignatura.class, 3);
System.out.println(asignatura.getNombre());
List<Tema> temas = (List<Tema>) em.createQuery("select t from Tema t where t.asignatura = :asignatura").setParameter("asignatura", asignatura).getResultList();