Búscalo aquí:

SEDFE: un Sistema Experto para el Diagnóstico Fitosanitario del Espárrago usando Redes Bayesianas

Actualmente, existen muchos modelos probabilísticos empleados en muchas áreas de trabajo y disciplinas de estudio, los cuales contribuyen grandemente a solucionar diversos problemas. En éste post se presenta una propuesta de sistema experto basado en inferencias probabilísticas usando redes bayesianas para realizar el diagnóstico fitosanitario del espárrago, el cual, se ha convertido en una hortaliza de gran importancia socioeconómica para el país y por constituirse como uno de los principales productos de agro-exportación nacional; sin embargo, a pesar de la excelente condición climática presente en el Perú para su cosecha y de las buenas prácticas agrícolas implementadas, existen diversos factores que terminan por encarecer los costos y disminuir el rendimiento de su producción.


Resumen
Este trabajo propone un sistema experto basado en el modelo probabilístico de Redes Bayesianas para el diagnóstico de las plagas y enfermedades del espárrago. Usamos la técnica de propagación de certeza basada en el algoritmo de paso de mensajes de Kim y Pearl, que permite la actualización de nodos dentro de la red, alcanzando resultados con un margen de diferencia de centésimas con respecto al cálculo exacto de la Tabla de Distribución Conjunta Completa usando un algoritmo de Enumeración. Además hemos podido lograr establecer resultados coherentes de acuerdo a los patrones convencionales de cada germen patógeno y sus manifestaciones.


Publicación
Shiguihara-Juárez, Pedro, y Valverde-Rebaza, Jorge (2009). SEDFE: Un Sistema Experto para el Diagnóstico Fitosanitario del Espárrago usando Redes Bayesianas. Proceedings de Congreso de Inteligencia Computacional Aplicada (CICA 2009), Buenos Aires, Argentina.

Shiguihara-Juárez, Pedro, y Valverde-Rebaza, Jorge (2008). SEDFE: Un Sistema Experto para el Diagnóstico Fitosanitario del Espárrago usando Redes Bayesianas. Proceedings de VII Jornadas Peruanas de Computación (JPC-2008), pp. 199-208, Perú.



Quieres leer más post como éste???...suscribete aquí!!!

17 comentarios:

  1. me intereso bastane esta aplicación de sistmas inteligentes a la agricultura epecialmente por que su aporte esta enfocado en mejorar la calidad del producto

    ResponderEliminar
  2. Hola Amigo esta muy interesante tu trabajo de investigacion me gustaria tener mas informacion sobre el tema de Red bayesiana gracias... edgardx@hotmail.com

    ResponderEliminar
  3. Muy interesante, sobre todo por su aplicación directa en el área de la agro-industria

    ResponderEliminar
  4. hola como estas podrias ayudarme con un ejemplo sencillo de coneccion de swiprolog con netbeans ya que veo que las ventanas en con java se ven exelentes en tu sistema
    att soyer112004@yahoo.es muchas gracias hasta pronto

    ResponderEliminar
  5. hola, me gustaria saber si has programado en PHP algun sistemas expertos, me gusto el lenguaje java, estoy en la etapa de escoger el lenguaje de programacion para elabora SE y aun no me desido, me podrias dar alguna orientacion atte
    mavgec@hotmail.com, gracias

    ResponderEliminar
  6. Hola, el uso de lenguaje de programación en el que se implementará un sistema experto es muy importante, el lenguaje de programación más recomendado sería Prolog o también Lisp (u otros de este tipo). PHP tal vez sería una opción si deseas su implementación en la web. Sin embargo, Java o C/C++ a mi parecer, no serían una mala opción, todo dependería grandemente del tipo de sistema experto a implementar.

    ResponderEliminar
  7. el trabajo realizados es interesante sobre todo el aporte en la agricultura, bueno me gustaria compartir ya que estoy aplicando la Inferencia Bayesianas "Infracciones socio laborales por parte de las empresas hacia el trabajador" la idea es que un sistema experto basado en probabilidades este listando las 10 o 20 o 30 empresas peruanas que cometan infracciones socio laborales seria un buen aporte.

    de antemano las gracias Ing. Jorge carlos si es posible puedes contactarte a excelenttravel@yahoo.es

    Gracias

    ResponderEliminar
  8. hola jorge como estas te saluda juan
    estoy diseñando un sistema experto en swiprolog y para la interfaz utilizo netbeans version 6 bueno por la parte de swiprolog todo bien y en la conexion con java tambien pero tengo una duda ya que con swiprolog se hacen procedimiento recursivos por asi decirlo, y no se si con la interfaz de java tambien tengo que hacer recursividad ya que tengo que hacer preguntas y deben llevar cierto orden dependiendo de como se respondan
    te agradeceria mucho si pudieras orientarme un poco
    hasta pronto
    soyer112004@yahoo.es

    ResponderEliminar
  9. Hola juan, por lo que mencionas no habría ningun problema, puesto que el programa en swi prolog esperará que desde la interfaz de Java le envies un parámetro de entrada, la cual será procesada, luego swi prolog enviará el resultado de su inferencia, y nuevamente estará a la espera que Java le envie otro parámetro. De esa manera lograrás una interaccion entre la GUI en java y el código en prolog sin perturbar el proceso recursivo ke este realiza.

    saludos

    ResponderEliminar
  10. hola jorge como estas te saluda juan quiero agradecerte por la ayuda que me envias, ya que aqui se maneja poco la rama de la inteligencia artificial bueno queria consultarte algo:
    este es el sistema que estoy desarrollando en swiprolog y netbeans respectivamente

    %:-dynamic sintoma/2.
    esPreg(tercera,' tercer pregunta dolor?').
    esPreg(segunda,' segunda pregunta fiebre?').
    esPreg(primera,' primer pregunta cansancio?').
    esRespuesta(si).
    esRespuesta(no).

    evaluarBovino(Caract,Resp):- sintoma(Caract,Resp),!.
    esEnfermedad('Antrax'):- evaluarBovino(primera,R0),
    R0=si,
    evaluarBovino(segunda,R1),
    R1=si,!.
    esEnfermedad('Mastitis'):- evaluarBovino(tercera,R0),
    R0=si,!.
    esEnfermedad('no determinada'):- !.

    netbeans
    private void BotonnoActionPerformed(java.awt.event.ActionEvent evt) {
    String t4 = "esPreg(Caract,Preg)";
    Query q4 = new Query(t4);
    String resp="no";
    if ( q4.hasMoreSolutions() ){ java.util.Hashtable ss10 = q4.nextSolution();
    String sintomas=(""+ ss10.get("Caract"));
    Term val1 = new Atom(sintomas);
    Term val2 = new Atom(resp);
    Term cadena1 = new Compound("sintoma",new Term[]{val1,val2});
    Query ing1 = new Query("assert",cadena1);
    System.out.println( ing1 + " is " + (ing1.hasSolution() ? "provable" : "not provable") );
    }
    else {
    String t6 ="esEnfermedad(Tipo)";
    Query q6= new Query (t6);
    textrespuesta.setText(" " + q6.oneSolution().get("Tipo"));
    }
    bueno el sistema trabaja y me arroja los resultados esperados pero al momento de evaluar las preguntas estas se contestan primero la tercera, luego la segunda y por ultimo la primera y lo logico es que fuera al contrario te agradeceria mucho si me ayudaras jorge
    gracias de anticipado
    saludos y sigue adelante
    att soyer112004@yahoo.es

    ResponderEliminar
  11. Interesante este trabajo, encontre el link en los anales del CICA 2009
    Felicitaciones al equipo que trabaja en SEDFE

    ResponderEliminar
  12. Hola soyer112004, disculpa no haberte respondido antes, ahi va la respuesta.

    Desde Java lo que estas haciendo son consultas donde envias:

    String t4 = "esPreg(Caract,Preg)";
    Query q4 = new Query(t4);

    donde los parametros de esPreg() son Caract, Preg; las cuales empiezan con minusculas, por tanto son variables a calcular por prolog.

    Al entrar al prolog, Caract y Preg al no tener valores propios, pasarán a ser revisados por Prolog, las cuales, al no tener una respuesta unica propia, Prolog pasará a entregar todas las posibles soluciones a dicho predicado, las cuales segun lo que muestras son:

    esPreg(tercera,' tercer pregunta dolor?').
    esPreg(segunda,' segunda pregunta fiebre?').
    esPreg(primera,' primer pregunta cansancio?').

    Y dado que el orden es tercera, segunda, primera; lo que se visualiza es lo que indicas en tu comentario. Si deseas el orden inverso, el orden de colocación de tus predicados tambien debe de ser como lo requieres. Saludos

    ResponderEliminar
  13. hola jorge como estas
    muchas gracias por la ayuda pero tengo la duda de que si trabajo asi algo pueda salir mal o tu piensas que esta bien
    muchas gracias saludos
    att soyer112004@yahoo.es

    ResponderEliminar
  14. Soyer, el resultado sera correcto, tal vez el modo de trabajo no sea el más adecuado, pero eso puede cambiar, solo depende de que seas mas minucioso o "estricto" contus predicados y con los parámetros que le envias, de modo que la ejecucion sea estandar y ordenada sin depender del orden en el que esta escrito el codigo.

    Saludos.

    ResponderEliminar
  15. hola Jorge como estas espero que bien , disculpa las molestias pero tengo una duda con mi sistema experto es que al momento de correrlo siempre me muestra todas las preguntas que tengo en los predicados y en el mismo orden independientemente de la respuesta que le de a ellas ademas hasta que las contesto todas me aparece una respuesta, crees que esto sea inapropiado para un sistema experto ya que no muestra la siguiente pregunta dependiendo de la respuesta que se le de a la anterior pregunta a como lo hace tu sistema experto elaborado unicamente con swiprolog
    bueno espero tu respuesta y te deseo un buen dia
    hasta la proxima
    att soyer112004@yahoo.es

    ResponderEliminar
  16. Hola soyer, lo que mencionas es cierto, un sistema experto del tipo que estas desarrollando debe ir diagnosticando en el acto y por ende cada pregunta se va presentando de acuerdo a lo diagnosticado hasta el momento, de esta manera se va "afinando" el diagnostico.

    Te recomiendo darle una revisión a los grafos AND/OR, te pueden servir para lograr tu cometido :D

    ResponderEliminar
  17. hola, necesito de su ayuda, no logro realizar la conexion java prolog en aplicacion web, primero hice la conexion en aplicacion para escritorio en netbeans y no hubo problema pero al intentarlo en aplicacion web no funciona, porfavor espero su respuesta.

    ResponderEliminar

Bienvenido a jcGeorge's Blog!!!

Por favor deja tu comentario, consulta o sugerencia, procura mantener habilitado tu perfil de Blogger o deja un enlace a tu blog o web.

Gracias por leer este blog!!!

Related Posts Plugin for WordPress, Blogger...