Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA TESIS DE GRADO “Sistema Experto para el Diagnóstico de la Elección de una Carrera Profesional Basado en Lógica Difusa” PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA MENCIÓN: INGENIERÍA DE SISTEMAS INFORMÁTICOS POSTULANTE : RAMIRO JHONATAN PARDO FORONDA TUTOR METODOLÓGICO : LIC. GROVER ALEX RODRIGUEZ RAMIREZ ASESOR : M. SC. ALDO RAMIRO VALDEZ ALVARADO ASESOR ADJUNTO : M. SC. WILLY ERNESTO PORTUGAL DURAN LA PAZ – BOLIVIA 2014 UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA LA CARRERA DE INFORMÁTICA DE LA FACULTAD DE CIENCIAS PURAS Y NATURALES PERTENECIENTE A LA UNIVERSIDAD MAYOR DE SAN ANDRÉS AUTORIZA EL USO DE LA INFORMACIÓN CONTENIDA EN ESTE DOCUMENTO SI LOS PROPÓSITOS SON ESTRICTAMENTE ACADÉMICOS. LICENCIA DE USO El usuario está autorizado a: a) visualizar el documento mediante el uso de un ordenador o dispositivo móvil. b) copiar, almacenar o imprimir si ha de ser de uso exclusivamente personal y privado. c) copiar textualmente parte(s) de su contenido mencionando la fuente y/o haciendo la referencia correspondiente respetando normas de redacción e investigación. El usuario no puede publicar, distribuir o realizar emisión o exhibición alguna de este material, sin la autorización correspondiente. TODOS LOS DERECHOS RESERVADOS. EL USO NO AUTORIZADO DE LOS CONTENIDOS PUBLICADOS EN ESTE SITIO DERIVARA EN EL INICIO DE ACCIONES LEGALES CONTEMPLADOS EN LA LEY DE DERECHOS DE AUTOR. D E D I C A T O R I A Este trabajo lo dedico a mi familia, los seres más importantes por ser fuente inagotable de amor y cariño durante toda mi vida, a mis padres Ramiro y Eva por sus enseñanzas y guiarme por el buen camino, por toda su comprensión, y desvelos, por su constante dedicación y por seguir trabajando arduamente a lo largo de sus vidas en beneficio mío y de mi familia. A mis hermanas Lizeth Eva y Alexsandra Valentina por todo su desprendimiento, comprensión, y el apoyo desinteresadamente que me brindaron, sin ustedes el camino hubiera sido muy dificultoso. A G R A D E C I M I E N T O Al culminar mi formación profesional doy gracias a Dios por darme la oportunidad de alcanzar una de mis metas y estar conmigo en cada momento guiando mis pasos. Por enseñarme a luchar en los momentos difíciles de mi vida dándome la fuerza necesaria para continuar luchando día tras día y seguir adelante. Luego de este camino recorrido, lleno de obstáculos que a veces parecen insuperables pero que solo sirven para demostrarme que si puedo, donde he encontrado personas que han subido a mi tren y dejaron mucho, otras que indiscutiblemente dejan un espacio vacío, para recordarme el tiempo compartido, la experiencia aprendida, la emoción de vivirla pero indiscutiblemente lo mejor de todo es que algunas llegaron y se quedaron junto a mí. Agradezco a mi tutor Lic. Grover Alex Rodriguez Ramirez y mi Asesor M.Sc. Aldo Ramiro Valdez Alvarado por haberme brindado la colaboración y tiempo necesario para la conclusión de esta investigación. Agradezco al M.Sc. Willy Ernesto Portugal Duran mi asesor por el tiempo, paciencia recomendaciones, consejos brindados en cada una de las etapas del desarrollo del presente trabajo. Principalmente agradecerle por haber aceptado ser mi asesor y brindarme su amistad. Agradezco al Lic. Efraín Silva Sánchez (†) por su amistad, confianza, sus consejos y demostrarme que las cosas buenas pasan a quienes las esperan. Las mejores a quienes van por ellas. A las docentes Lic. Verónica Subieta Frías, Lic. Isabel Conde Altamirano, Lic. Miriam Mallea Morales, Lic. Nilda Flores Salinas, por demostrarme que uno está vencido cuando deja de luchar y perseguir sus metas. A los Administrativos Ing. Ernesto Herman Leyton, Ing. Oscar Guzmán Jordan, Don Félix Salinas, a los amigos de kardex Dña. María, Juan Carlos, Marco, Roberto, a los amigos de la Biblioteca Don Fernando y Don Willy, a los amigos Miguel Paco Calla, Wilson Cachi Pacheco, Miguel Ángel Quisbert Vargas, Eddy Velazco Mamani, Meri Ticona Riveros por su amistad, ayuda, orientación y confianza. De igual manera es necesario mencionar a todos los docentes de la carrera de Informática quienes plasmaron su conocimiento, experiencia durante toda la carrera universitaria. RESUMEN La finalidad del proyecto es la del desarrollo de un Sistema Experto cuyo objetivo es el diagnosticar de forma correcta la orientación vocacional de un paciente. El desarrollo de este trabajo, es el de proporcionar una herramienta que permita diagnosticar, la orientación vocacional. Esta detección podrá ser realizada por el psicólogo que realice el test a un paciente o por los propios pacientes que deseen auto – diagnosticarse. Los resultados que podrán visualizar de la aplicación son: Actividad al Aire Libre, Interés Mecánico, Interés por el cálculo, Interés Científico, Interés Persuasivo, Interés Artístico – Plástico, Interés Literario, Interés Musical, Interés por el Servicio Social e Interés por el trabajo de oficina. La memoria del proyecto trata de introducirnos tanto en la Inteligencia Artificial de lo cual es parte la lógica difusa, como en las aéreas de la elección de una carrea profesional que existen y explica los pasos seguidos para la consecución de la aplicación desarrollando el Sistema Experto y sus etapas correspondientes las cuales van asociadas a la metodología Buchanan la cual es la que se utiliza en el trabajo. La adquisición del conocimiento se realiza recogiendo diferente información acerca del tema tratado, usando todo tipo de material y formas, tanto por medio de entrevistas estructuradas como no estructuradas, así como por documentación encontrada de la orientación vocacional. La implementación de la aplicación corresponde al Software que se quiere utilizar, que requiere la elección del lenguaje, forma de presentar la interfaz de la aplicación, así como todo tipo de elementos relacionados con él. Para esta codificación se ha utilizado Prolog para el desarrollo del motor de inferencia y Adobe Flash Cs3 para la interfaz de usuario. Y por último, contrastar los resultados de la aplicación terminada, con resultados realizados que corresponden a la realidad. La cual ha sido realizada satisfactoriamente. ABSTRACT The purpose of the project is the development of an expert system aimed correctly diagnosing vocational guidance of a patient. The development of this work is to provide a tool to diagnose, vocational guidance. This detection can be performed by the psychologist who performed the test to a patient or patients themselves who wish to self - diagnosed. The results will display in the application are: Outdoor Activity , Mechanical Interests, Interest calculation, Scientific Interest , Interest Persuasive , Artistic Interest - Plastic Interesting Literary , Musical Interests, Social Service Interest and Interest for the work office . The project report is both introduce Artificial Intelligence which is part of fuzzy logic, as in the areas of choosing a professional carrea world and explains the steps taken to achieve the implementation and development of the Expert System appropriate stages which they were associated with the Buchanan method which is used in the work . Knowledge acquisition is performed by collecting different information about this subject, using all kinds of materials and shapes, both through structured and unstructured interviews, as well as documentation found for vocational guidance. The implementation of the application correspondsto the Software that is to be used, which requires the choice of language, how to present the application interface , as well as all kinds of items related to it . For this coding has been used for the development of Prolog inference engine and Adobe Flash Cs3 for UI. Finally, compare the results of the completed application, with matches made to reality. This has been performed successfully. TABLA DE CONTENIDO Nro. Pág. CAPÍTULO I 1. ANTECEDENTES GENERALES ...................................................................... 1 1.1 INTRODUCCIÓN ................................................................................................ 1 1.2 PLANTEAMIENTO DEL PROBLEMA ............................................................. 2 1.2.1 ANTECEDENTES ............................................................................... 2 1.2.2 FORMULACIÓN DEL PROBLEMA .................................................. 5 1.3 PLANTEAMIENTO DE OBJETIVOS ............................................................... 5 1.3.1 OBJETIVO GENERAL..................................................................... 5 1.3.2 OBJETIVOS ESPECÍFICOS ............................................................. 5 1.4 HIPÓTESIS ......................................................................................................... 5 1.5 OPERACIONALIZACION DE VARIABLES ................................................. 6 1.6 JUSTIFICACIÓN ................................................................................................ 7 1.6.1 JUSTIFICACIÓN ECONÓMICA .................................................... 7 1.6.2 JUSTIFICACIÓN SOCIAL ............................................................... 7 1.6.3 JUSTIFICACIÓN CIENTÍFICA ....................................................... 7 1.7 LÍMITES Y ALCANCES ................................................................................... 8 1.7.1 LIMITES ........................................................................................... 8 1.7.2 ALCANCES ..................................................................................... 8 1.8 APORTES ........................................................................................................... 8 1.9 METODOLOGÍA ................................................................................................ 9 CAPÍTULO II 2. MARCO TEÓRICO .......................................................................................... 11 2.1 SISTEMA EXPERTO ...................................................................................... 11 2.1.1 INTRODUCCIÓN A LOS SISTEMAS EXPERTOS ................................... 11 2.1.2. GENERALIDADES DE LOS SISTEMAS EXPERTOS ........................................................................ 12 2.1.2.1 ¿QUÉ SON LOS SISTEMAS EXPERTOS? ....................................... 12 2.1.2.2 LOS EXPERTOS HUMANOS ............................................................ 14 2.1.2.3 DIFERENCIA ENTRE UN EXPERTO Y UN NO EXPERTO HUMANO ..................................................... 15 2.1.2.4 DIFERENCIA ENTRE UN SISTEMA EXPERTO Y UN PROGRAMA TRADICIONAL ........................................... 15 2.1.3. ARQUITECTURA BÁSICA DE LOS SISTEMAS EXPERTOS ................ 16 2.1.3.1 BASE DE CONOCIMIENTOS ......................................................... 16 2.1.3.2 BASE DE HECHOS (MEMORIA DE TRABAJO) .......................... 17 2.1.3.3 MOTOR DE INFERENCIA ............................................................. 17 2.1.3.4 SUBSISTEMA DE EXPLICACIÓN ................................................ 17 2.1.3.5 INTERFAZ DE USUARIO .............................................................. 18 2.1.4 LENGUAJE UTILIZADOS EN LA CONSTRUCCIÓN DE SISTEMAS EXPERTOS .................................................................................................... 18 2.1.4.1 CLIPS ................................................................................................. 18 2.1.4.2 PROLOG .............................................................................................. 19 2.1.4.3 SMALLTALK ...................................................................................... 20 2.1.5 CAMPOS DE APLICACIÓN DE LOS SISTEMAS EXPERTOS ............... 20 2.2 METODOLOGÍA DE DESARROLLO BUCHANAN .................................... 24 2.2.1 INTRODUCCIÓN ................................................................................ 24 2.2.2 ETAPAS DE LA METODOLOGÍA BUCHANAN ............................. 25 2.3 LÓGICA DIFUSA ............................................................................................. 28 2.3.1 INTRODUCCIÓN ................................................................................ 28 2.3.2 TEORÍA DE CONJUNTOS DIFUSOS ................................................ 30 2.3.2.1 CONJUNTOS DIFUSOS ......................................................... 30 2.3.3 FUNCIÓN DE PERTENENCIA .......................................................... 31 2.3.4 OPERACIONES ELEMENTALES CON CONJUNTOS DIFUSOS ..................................................................... 33 2.3.3.4 INFERENCIA DIFUSA ........................................................... 33 2.3.3.5 REGLAS DIFUSAS ................................................................. 34 2.3.3.6 IMPLICACIÓN DIFUSA ......................................................... 34 2.3.5 FUNCIONAMIENTO ........................................................................... 35 2.3.6 APLICACIONES .................................................................................. 36 2.3.7 LÓGICA DIFUSA EN INTELIGENCIA ARTIFICIAL ...................... 37 2.3.8 ETAPAS PARA EL FUNCIONAMIENTO DE UN SISTEMA DIFUSO ....................................................................... 38 2.3.8.1 FUZZIFICACIÓN DE LAS ENTRADAS ............................... 39 2.3.8.2 DEFUZZIFICACIÓN ............................................................... 40 2.4 INTERÉS VOCACIONAL .............................................................................. 41 2.4.1. CLASIFICACIÓN DE ÁREAS GENERALES O ESCALAS DE INTERÉS ....................................................................... 43 2.4.1.1 ACTIVIDAD AL AIRE LIBRE .......................................... 43 2.4.1.2 INTERÉS MECÁNICO ....................................................... 43 2.4.1.3 INTERÉS POR EL CÁLCULO .......................................... 43 2.1.1.4 INTERÉS CIENTÍFICO ..................................................... 44 2.1.1.5 INTERÉS PERSUASIVO ................................................... 44 2.1.1.6 INTERÉS ARTÍSTICO – PLÁSTICO ................................ 44 2.1.1.7 INTERÉS LITERARIO ....................................................... 44 2.1.1.8 INTERÉS MUSICAL .......................................................... 45 2.1.1.9 INTERÉS POR EL SERVICIO SOCIAL ........................... 45 2.1.1.10 INTERÉS POR EL TRABAJO DE OFICINA .................. 45 CAPÍTULO III 3. DISEÑO METODOLÓGICO .......................................................................... 46 3.1. DESCRIPCIÓN DEL MODELO ..................................................................... 46 3.2. METODOLOGÍA PARA EL DESARROLLO DEL SISTEMA EXPERTO .................................................. 47 3.2.1. IDENTIFICACIÓN ................................................................................ 47 3.2.2. CONCEPTUALIZACIÓN .................................................................... 49 3.2.2.1 ADQUISICIÓN DEL CONOCIMIENTO ......................................49 3.2.2.1.1. CONOCIMIENTO ABSTRACTO .................................. 49 3.2.2.2 BASE DE HECHOS ........................................................................ 50 3.2.3. FORMALIZACIÓN ............................................................................... 53 3.2.3.1 BASE DE CONOCIMIENTO ........................................................ 53 3.2.3.1.1 DEFINICIÓN Y CODIFICACIÓN DE LAS VARIABLES ......................................................... 53 3.2.3.1.2 ÁRBOL DE DECISIÓN .................................................. 61 3.2.3.2 MOTOR DE INFERENCIA ............................................................ 62 3.2.3.2.1 FUZZIFICACIÓN DE LAS VARIABLES LINGÜÍSTICA DE ENTRADA .................................... 62 3.2.3.2.2. DESARROLLO DE REGLAS ........................................ 68 3.2.3.2.1 DEFUZZIFICACIÓN DE LAS VARIABLES LINGÜÍSTICA DE ENTRADA .................................... 82 3.2.4 IMPLEMENTACIÓN ............................................................................ 84 3.2.4.1 PROTOTIPO ................................................................................... 85 CAPÍTULO IV 4. EVALUACIÓN DE RESULTADOS ............................................................... 90 4.1 RECOLECCIÓN DE DATOS.......................................................................... 90 4.1.1. TESTEO ................................................................................................. 90 4.2. REVISIÓN DEL PROTOTIPO ....................................................................... 94 4.3. DEMOSTRACIÓN DE LA HIPÓTESIS ........................................................ 96 CAPÍTULO V 5. CONCLUSIONES Y RECOMENDACIONES ............................................ 100 5.1 CONCLUSIONES ........................................................................................... 100 5.2. RECOMENDACIONES ............................................................................... 101 BIBLIOGRAFÍA .................................................................................................. 102 ÍNDICE DE TABLAS Nro. Pág. Tabla 2.1. Primeros Sistemas Expertos y sus aplicaciones ........................................... 11 Tabla 2.2. Diferencia entre un Experto Humano y un no Experto Humano ................. 15 Tabla 2.3. Diferencia entre un Sistema Experto y un Programa Tradicional ................. 15 Tabla 3.1. Variables Lingüísticas .................................................................................. 54 Tabla 3.2. Función de Pertenencia Estudiar la música de Diferentes Países, como la India, Japón, etc. ................................................................ 63 Tabla 3.3. Función de Pertenencia Realizar Cálculos con distintas Medidas ................ 64 Tabla 3.4. Función de Pertenencia Hacer mosaicos artísticos para decoraciones .......... 66 Tabla 3.5. Función de Pertenencia Observar la vida de algunos insectos ...................... 67 Tabla 4.1. Resultados Experto Humano y el Sistema Experto ....................................... 92 Tabla 4.2. Obtención de los Resultados .......................................................................... 97 ÍNDICE DE FIGURAS Nro. Pág. Figura 2.1. Arquitectura de un Sistema Experto ............................................................ 16 Figura 2.2. Etapas de la elaboración de un Sistema Experto ......................................... 28 Figura 2.3. Elementos de un Conjunto Difuso .............................................................. 30 Figura 2.4. Función Triangular ...................................................................................... 31 Figura 2.5. Función Trapezoide ..................................................................................... 32 Figura 2.6. Función S ..................................................................................................... 32 Figura 2.7. Estructura de un Sistema Difuso ................................................................. 38 Figura 3.1. Estructura del Sistema Experto para el Diagnóstico de la Elección de una Carrera Profesional ................................................... 46 Figura 3.2. Componentes que intervienen en el desarrollo del Sistema Experto .................................................................... 48 Figura 3.3. Componentes del Sistema Experto .............................................................. 48 Figura 3.4. Adquisición del Conocimiento .................................................................... 49 Figura 3.5. Representación de la clasificación de la Elección de una carrera Profesional ................................................................................. 50 Figura 3.6. Árbol de decisión de Sistema Experto ........................................................ 61 Figura 3.7. Conjunto Difuso de la variable Estudiar la música de Diferentes países, como la India, Japón, etc. ............................................................... 62 Figura 3.8. Conjunto Difuso de la variable Realizar Cálculos con distintas Medidas .................................................................... 64 Figura 3.9. Conjunto Difuso de la variable Hacer mosaicos artísticos para decoraciones ............................................... 65 Figura 3.10. Conjunto Difuso de la variable Observar la vida de algunos insectos ........................................................... 67 Figura 3.11. Pantalla Principal del Sistema Experto ..................................................... 85 Figura 3.12. Pantalla para conocer nuestro Sexo ........................................................... 86 Figura 3.13. Pantalla de la Primera Pregunta ................................................................ 86 Figura 3.14. Pantalla de la decimo Segunda Pregunta ................................................... 87 Figura 3.15. Pantalla de la Pregunta Setenta ................................................................. 87 Figura 3.16. Pantalla de la última pregunta ................................................................... 88 Figura 3.17. Pantalla del Diagnóstico ............................................................................ 89 Figura 4.1. Regla de los datos al sistema Experto .......................................................... 95 Figura 4.2. Consulta de una de las reglas ....................................................................... 96 CAPÍTULO I ANTECEDENTES GENERALES 1. ANTECEDENTES GENERALES 1.1 INTRODUCCIÓN Se considera a alguien un experto en un problema cuando este individuo tiene conocimiento especializado sobre dicho problema. En el área de los (SE) a este tipo de conocimiento se le llama conocimiento sobre el dominio. La palabra dominio se usa para enfatizar que el conocimiento pertenece a un problema específico. Desde la aparición del ordenador, el ser humano se pregunta si sería posible que una maquina le arrebatase el privilegio de pensar y razonar. En la actualidad, hay ciertas ramas de la Inteligencia Artificial (I.A.) que se ocupan de este aspecto. La cual permite representar el conocimiento humano y construir sistemas que reflejen dichos conocimientos. Estos sistemas también son conocidos como Sistemas Basados en Conocimiento (SBC), los cuales permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de conocimientoslimitado. En teoría pueden razonar siguiendo los pasos que seguiría un experto humano (médico, analista, empresario, psicólogo, etc.) para resolver un problema concreto. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de posibilidades en resolución de problemas y en aprendizaje. Decidir por cuál carrera optar sin dudas es un momento difícil. El conflicto que genera esta situación; el miedo al fracaso, a la decepción propia y ajena, son muchas veces sentimientos habituales del joven preuniversitario que se convierten en fuente de ansiedad y estrés. La pregunta ¿Qué podré estudiar? se repite con tanta frecuencia y con tal desespero que no nos cabe duda de la necesidad de una adecuada orientación profesional. La elección profesional es una manera de expresar el desarrollo alcanzado por nuestra personalidad en el período de la adolescencia donde el individuo debe determinar cuál será el camino a seguir o qué estudiar, pues en esta etapa de su vida se imponen dos crisis, una propia del evento vital por el cual se está transitando y otra, por ser precisamente en ésta época de menos ajuste emocional, cuando debe concretarse, según nuestro sistema educacional, el destino profesional de una persona. Este hecho justifica aún más la conveniencia de integrar la orientación vocacional a la escuela y contribuir a que profesores, http://www.monografias.com/trabajos28/aceptacion-individuo/aceptacion-individuo.shtml http://www.monografias.com/trabajos7/doin/doin.shtml http://www.monografias.com/trabajos6/auti/auti.shtml http://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtml http://www.monografias.com/trabajos4/epistemologia/epistemologia.shtml http://www.monografias.com/trabajos34/empresario/empresario.shtml http://www.monografias.com/trabajos/histoconcreto/histoconcreto.shtml http://www.monografias.com/trabajos/adolmodin/adolmodin.shtml http://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANT http://www.monografias.com/trabajos5/teap/teap.shtml 2 alumnos y padres asuman la responsabilidad que les cabe para ayudar al proceso de orientación. El resultado esperado de este sistema experto es el lograr realizar un diagnóstico, de forma precisa y exacta para la elección de una carrera profesional. 1.2 PLANTEAMIENTO DEL PROBLEMA 1.2.1 ANTECEDENTES La elección de la carrera profesional se podría decir que sin duda es una de las decisiones más importantes de la vida debido a que ha esto nos dedicaremos (en algunos casos) la mayor parte de nuestra vida laboral; nos vemos influenciados por la familia, los amigos y en algunos casos las remuneraciones que estos nos podrían dejar. Sin embargo esta decisión debe tomarse sin prejuicios ya que en esta se ven explicitas nuestros intereses. Para una mejor elección de carrera se debe de tener en cuenta cuáles son nuestras aptitudes, actitudes e intereses así como explotar nuestros gustos y habilidades y trabajar con ellas para que día con día podamos perfeccionarlas teniendo en cuenta si contamos con la capacidad para ejercerlas y confiar que se pueden lograr los objetivos, metas, anhelos y sueños teniendo un equilibrio en nuestro autoestima. Los intereses varían dependiendo de la persona con sus objetivos ya que están los intereses medios que solo despiertan el interés momentáneamente y los de alto interés que se enfoca directamente a lo que te quieres dedicar. Es fácil detectar nuestros verdaderos intereses ya que es a lo que mayor parte le dedicamos y lo que nos esmeramos más por hacer ya que reflejan gran parte de nuestras características personales. No obstante siempre hay factores que nos hacen dudar y caer en una mala toma de decisiones, se tienen que olvidar los factores de convivencia que es en donde nuestros amigos influyen de acuerdo a sus intereses, la carrera determinada en la que los padres tratan de imponer la carrera o profesión y la financiera que en la mayoría de las ocasiones las personas van en busca de una carrera de acuerdo a las remuneraciones que este les podría dejar. 3 La psicología es una herramienta muy útil para ayudar a los adolescentes en la elección de una carrera profesional, provocando que el adolescente elija la carrera más idónea. Y uno de los medios que utiliza la psicología, son los test psicológicos. Uno de los instrumentos más conocidos para la evaluación psicológica de adolescentes es el test Psicológico KUDER, ampliamente utilizado en la elección de una carrera profesional. Relacionados con la adaptación personal y social del individuo. Si bien el test psicológico KUDER es una herramienta útil para determinar objetivamente la carrera que un adolescentes se desenvolverá mejor, el proceso de evaluación es arduo y con lleva mucho tiempo, además que muchos adolescentes requieren con suma urgencia los resultados para empezar a fortalecer su habilidades con respecto a una carrera. Si bien es una tarea larga y costosa, gracias a la tecnología y específicamente el área de la inteligencia artificial y sistemas expertos, todo el proceso puede ser automatizado de tal manera que el sistema experto pueda realizar el análisis del test psicológico. Se realizo la investigación de trabajos realizados en la carrera de Informática relacionados con el tema, los cuales son: Manual “KUDER ORIENTACIÓN VOCACIONAL”. Dentro el área de la psicología, el test psicológico KUDER es una prueba que permite conocer preferencias con respecto a un gran número de actividades. Titulo: “Sistema Experto para el diagnóstico de estrés utilizando lógica difusa” Autor: Clemente Quispe Sillo. Año: 2006 Institución: Universidad Mayor de San Andrés, Carrera de Informática. Desarrollo de un Sistema Experto cuyo objetivo es el diagnóstico de estrés utilizando lógica difusa, que sea utilizado por un profesional experto en el tratamiento de estrés. 4 Titulo: “Sistema Experto para el diagnóstico de problemas de aprendizaje de niños en matemáticas” Autor: Soliz Lopez Eduardo Karina. Año: 2008 Institución: Universidad Mayor de San Andrés, Carrera de Informática. Desarrollo de un Sistema Experto cuyo objetivo es detectar los problemas de aprendizaje en matemáticas (discalculia) en niños de 6 y 7 años que logra diagnosticar oportunamente las dificultades en el aprendizaje y ayudar a mejorar su rendimiento en el área. Titulo: “Sistema Experto para la selección de recursos humanos basados en un test Psicológico” Autor: Gisela Heydi Carita Rodriguez. Año: 2012 Institución: Universidad Mayor de San Andrés, Carrera de Informática. Desarrollo de un Sistema Experto cuyo objetivo es mejorar el proceso de selección de recursos humanos basados en un test psicológico. Titulo: “Sistema Experto para el diagnóstico de trastornos depresivos basados en lógica difusa” Autor: Ana Guadalupe Salas Gonzales. Año: 2012 Institución: Universidad Mayor de San Andrés, Carrera de Informática. Desarrollo de un Sistema Experto cuyo objetivo es el diagnosticar de forma correcta el tipo de trastornos depresivos de un paciente. 5 A continuación se menciona algunos problemas secundarios: La falta de diagnósticos de que carreras serian más aptas para que un adolescente estudie hacen que el adolescente fracase en la carrera que eligió y por consecuente exista un cambio de carrera. Poca disponibilidad de tiempo, en la atención del profesional en psicología causa una carga horaria insuficiente la cual provoca una alta demanda de adolescentes que equivocan la elección de una carrera profesional. Algunos colegios no cuentan con un experto en psicología. La falta económica de algunos padres de familia provocan que no puedan acudir a un psicólogo. 1.2.2 FORMULACIÓN DEL PROBLEMA ¿Cómo se podría apoyar el proceso de elección de una carrera profesional para adolescentes, evaluando objetivamente las característicasmás importantes y de esta manera se pueda agilizar los test de orientación vocacional? 1.3. PLANTEAMIENTO DE OBJETIVOS 1.3.1 OBJETIVO GENERAL Desarrollar un modelo de sistema experto el cual diagnostique las diferentes carreras profesionales que el adolescente puede estudiar midiendo objetivamente las características más importantes, y de esta manera se pueda agilizar los diagnósticos. 1.3.2 OBJETIVOS ESPECÍFICOS Implementar la base de conocimientos y desarrollo del motor de Inferencia. Desarrollar de una interfaz fácil de usar por el usuario. Formalizar el conocimiento del experto utilizando lógica difusa. Construir de un prototipo e implementación del sistema. 6 1.4. HIPÓTESIS H: La lógica difusa permite al sistema experto dar un diagnóstico sobre la carrera que podría estudiar el adolescente con un nivel de confiabilidad del 95%. 1.5. OPERACIONALIZACIÓN DE VARIABLES En base al problema planteado, se puede identificar una variable independiente Vi y otra variable dependiente Vd las cuales tienen la siguiente relación: Vi Vd Lógica Difusa (Variable Interviniente) Dónde: Vi: Sistema experto para el diagnóstico de las diferentes carreras profesionales que un adolescente puede estudiar. Concepto: Los sistemas expertos son programas que contienen el conocimiento del experto humano. Indicadores: Potencialidad en alguna área. Instrumentos: Modelos probabilísticos. Valor: Cuantitativos mediante al tipo de potencialidad que el adolescente tiene en alguna área. Vd: Diagnóstico Concepto: El conjunto de aptitudes para el diagnóstico de la carrera más apta para el adolescente. Indicadores: Comparación de los diagnósticos entre el sistema experto y el experto humano. 7 Valor: Cualitativo. 1.6. JUSTIFICACIÓN 1.6.1 JUSTIFICACIÓN ECONÓMICA El beneficio económico que proporcionara contar con un sistema experto que realice el diagnóstico de las diferentes carreras que un adolescente pueda estudiar sería favorable de gran manera. Con el sistema experto se quiere mantener el conocimiento del experto humano esto debido a que la mente humana es frágil y esta propensa a incursionar en algunos errores ya sean olvidos o confusiones. Se podría indicar que se puede reducir el costo hora hombre y los costos sustanciales en los pocos consultorios psicológicos que se establecen en el país; de ahí se puede evidenciar que es viable desarrollar el sistema experto. Ayudar a las personas de bajos recursos a poder conseguir un diagnóstico eficaz y mucho más económico. 1.6.2 JUSTIFICACIÓN SOCIAL Se pretende que el sistema experto ayude principalmente al psicólogo así como a las personas brindándoles diagnósticos oportunos de las diferentes carreras afines. Los colegios que principalmente requieren de la construcción de un sistema experto para el diagnóstico de las diferentes carreras que un adolescente puede estudiar, además la población necesita de instrumentos o sistemas que puedan llevar a cabo un diagnóstico oportuno más aún si están a punto de salir bachilleres y precisamente con el sistema se quiere que los adolescentes escojan una carrera más apta de acuerdo a sus habilidades y de esta manera evitar el fracaso de una carrera. También el esfuerzo de desarrollo de un Sistema Experto se justifica por ejemplo cuando los expertos humanos escasean y los colegios necesitan expertos en distintas ubicaciones a la vez. 8 1.6.3 JUSTIFICACIÓN CIENTÍFICA Los sistemas expertos son extraordinarios asistentes para tratar o diagnosticar algunas patologías; estos poseen un acumulo interesante que conlleva a obtener conclusiones y acciones mediante el motor de inferencia en cual estará basado en lógica difusa y su base de conocimiento. La base de conocimientos es un buen medio para almacenar conocimientos de un experto humano; que por lo tanto de hará disponible en cualquier espacio y tiempo. La búsqueda de nuevas soluciones genera nuevos conocimientos y por consiguiente surgen distintas alternativas, para dar soluciones a problemas específicos. En este contexto el modelo de sistema experto propuesto se presenta como una nueva opción que integra ciencia y tecnología contribuyendo así al avance de la informática en la Psicología. 1.7. LIMITES Y ALCANCES 1.7.1 LIMITES Solo se abordara el contexto de la psicología. El presente trabajo solo se limita al diagnóstico para determinar la carrera que un adolescente pueda estudiar. El sistema no almacenara los resultados de los diagnósticos. 1.7.2. ALCANCES Con el conocimiento del experto humano se diseñará el sistema experto de tal manera que permita la construcción del prototipo del sistema, lo que favorece al área de psicología y la inteligencia artificial. El sistema experto ofrecerá un diagnóstico de manera rápida una vez introducidos los datos necesarios. 9 El sistema tiene la capacidad de detectar los problemas más comunes para luego recoger la información necesaria y poder documentar la descripción del dominio de la aplicación con un margen de error mínimo. 1.8. APORTES El sistema experto ira en beneficio de la población como un sistema que ayude al diagnóstico de para determinar la carrera que un adolescente puede estudiar. Los sistemas expertos, se basan en los aportes a otras ciencias y técnicas, en nuestro caso en el área de la psicología que han tomado el computador como metáfora para construir modelos de aprendizaje humano. Con la construcción de este sistema experto trataremos de incentivar a la investigación de distintos temas en diferentes áreas de la psicología para incursionar con la informática. 1.9. METODOLOGÍA Para la elaboración del presente trabajo se empleará el Método Científico. Qué tiene los siguientes pasos [Balzer, 1997]: Observación Consiste en el estudio de un fenómeno que se produce en sus condiciones naturales. La observación deber ser cuidadosa, exhaustiva y exacta. Identificación del problema A partir de la observación surge la identificación del problema que se va a estudiar lo que lleva a emitir alguna hipótesis. Hipótesis Suposición provisional de la que se intenta extraer una consecuencia. Una hipótesis confirmada se puede convertir en una ley científica que establezca una relación 10 entre dos o más variables, y al estudiar un conjunto de leyes se puede hallar algunas regularidades entre ellas que den lugar a unos principios generales con los cuales se construye una teoría. Experimentación Consiste en el estudio de un fenómeno, en las condiciones particulares de estudio que interesan, eliminando o introduciendo aquellas variables que puedan incluir en él. Se entiende por variable a todo aquello que pueda causar cambios en los resultados de un experimento y se distinguen entre variables independientes, dependientes y controlada. Resultados Los resultados de un experimento pueden describirse mediante tablas, gráficos y ecuaciones de manera que puedan ser analizados con facilidad y permitan encontrar relaciones entre ellos que confirmen o no las hipótesis emitidas. Para el diseño del sistema experto se utilizo la Metodología de Buchanan que se basa en la adquisición de conocimientos de distintas fuentes: libros y expertos. Esta metodología procede a través de una serie de etapas para producir un sistema experto. Se destacan 6 etapas fundamentales: Identificación, Conceptualización. Formalización, Implementación, Testeo, Revisión del prototipo [Martinez, 2009]. CAPÍTULO II MARCO TEÓRICO 11 2. MARCO TEÓRICO 2.1 SISTEMAS EXPERTOS 2.1.1 INTRODUCCIÓN A SISTEMAS EXPERTOS Se considera a alguien un experto en un problema cuando este individuo tiene conocimiento especializadosobre dicho problema. En el área de los (SE) a este tipo de conocimiento se le llama conocimiento sobre el dominio. La palabra dominio se usa para enfatizar que el conocimiento pertenece a un problema específico. [Samper, 2004] Antes de la aparición del ordenador, el hombre ya se preguntaba si se le arrebataría el privilegio de razonar y pensar. En la actualidad existe un campo dentro de la inteligencia artificial al que se le atribuye esa facultad: el de los sistemas expertos (SE). [Samper, 2004] Estos sistemas también son conocidos como Sistemas Basados en Conocimiento, los cuales permiten la creación de máquinas que razonan como el hombre, restringiéndose a un espacio de conocimientos limitado. En teoría pueden razonar siguiendo los pasos que seguiría un experto humano (médico, analista, empresario, etc.) para resolver un problema concreto. [Samper, 2004]. Este tipo de modelos de conocimiento por ordenador ofrece un extenso campo de posibilidades en resolución de problemas y en aprendizaje. Su uso se extenderá ampliamente en el futuro, debido a su importante impacto sobre los negocios y la industria. Una característica adicional deseable, y a veces fundamental, es que el sistema es capaz de justificar su propia línea de razonamientos de forma inteligente por el usuario. [Samper, 2004]. Tabla 2.1 Sistema Fecha Autor Aplicación DENDRAL 1965 Stanford Deduce información sobre estructuras químicas HearSay 1965 Carnegie – Mellon Interpreta en lenguaje natural un subconjunto del idioma http://www.monografias.com/trabajos28/aceptacion-individuo/aceptacion-individuo.shtml http://www.monografias.com/trabajos/epistemologia2/epistemologia2.shtml http://www.monografias.com/trabajos7/doin/doin.shtml http://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtml http://www.monografias.com/trabajos15/inteligencia-emocional/inteligencia-emocional.shtml http://www.monografias.com/trabajos11/teosis/teosis.shtml http://www.monografias.com/trabajos6/auti/auti.shtml http://www.monografias.com/trabajos15/fundamento-ontologico/fundamento-ontologico.shtml http://www.monografias.com/trabajos4/epistemologia/epistemologia.shtml http://www.monografias.com/trabajos34/empresario/empresario.shtml http://www.monografias.com/trabajos/histoconcreto/histoconcreto.shtml http://www.monografias.com/trabajos/adolmodin/adolmodin.shtml http://www.monografias.com/trabajos15/calidad-serv/calidad-serv.shtml#PLANT http://www.monografias.com/trabajos5/teap/teap.shtml http://www.monografias.com/trabajos15/plan-negocio/plan-negocio.shtml http://www.monografias.com/trabajos16/industria-ingenieria/industria-ingenieria.shtml 12 Sistema Fecha Autor Aplicación Mycin 1972 Stanford Diagnóstico de enfermedades de la sangre Tieresias 1972 Stanford Herramienta para la transformación de conocimientos Prospector 1972 Stanford Exploración mineral y herramientas de identificación Age 1973 Stanford Herramienta para generar Sistemas Expertos OPS5 1974 Carnegie – Mellon Herramientas para desarrollo de Sistemas Expertos Caduceus 1975 University of Pittsburg Herramientas de diagnóstico para medicina interna Rosie 1978 Rand Herramienta de desarrollo de Sistema Experto R1 1978 Carnegie - Mellon Configurador de equipos de computación para DEC Primeros Sistemas Expertos y sus Aplicaciones Fuente: Giarratano, 2005 2.1.2 GENERALIDADES DE LOS SISTEMAS EXPERTOS 2.1.2.1 ¿QUÉ SON LOS SISTEMAS EXPERTOS? Desde su aparición, a mediados de 1960, los Sistemas Expertos se han definido como aquellos programas que se basan en el conocimiento y tratan de imitar el razonamiento de un experto para resolver un problema de un tópico definido. Su comportamiento se basa generalmente en reglas, es decir, se basa en conocimientos previamente definidos, y mediante estos conocimientos, los SE son capaces de tomar decisiones. Sería ilógico que solo existe una definición de Sistemas Expertos, ya que tanto los SE como la propia IA han ido evolucionado a la para través de los años. 13 En el congreso Mundial de Inteligencia Artificial Feigenbaum se definió a los SE como: Un programa de computador inteligente que usa el conocimiento y procedimientos de inferencia para resolver problemas que son lo suficientemente difíciles como para requerir la interpretación de un experto humano para su resolución. Sin embargo con los avances conseguidos hasta ahora esta definición ha cambiado, actualmente un SE define de la siguiente manera: Un Sistema Experto es un sistema informático que simula los procesos de aprendizaje, memorización, razonamiento, comunicación y acción de un experto humano en una determinada rama de la ciencia, suministrando, de esta forma, un consultor que puede sustituirle con unas ciertas garantías de éxito. Los Sistemas Expertos permiten el desarrollo de otros sistemas que representan el conocimiento como una serie de reglas. Las distintas relaciones, conexiones y afinidades sobre un tema pueden ser compiladas en un Sistema Experto pudiendo incluir relaciones altamente complejas y con múltiples interacciones. Las características mencionadas en las definiciones anteriores le permiten a un Sistema Experto almacenar datos y conocimientos, sacar conclusiones lógicas, ser capaces de tomar decisiones, aprender, comunicarse con expertos humanos o con otros Sistemas Expertos, explicar el razonamiento de su decisión y realizar acciones como consecuencia de todo lo anterior. Un problema se presta a ser resuelto usando un Sistema Experto cuando: Una solución del problema tienen una rentabilidad tan alta que justifica el desarrollo de un sistema, pues las soluciones son necesidades del área y no se han trabajado en otros métodos para obtenerlas. El problema puede resolverse solo por un conocimiento experto que puede dar forma a los conocimientos necesarios para resolver el problema, y la intervención de experto dará al sistema la experiencia que necesita. 14 El problema puede resolverse solamente por un conocimiento experto en vez de usar algoritmos particulares. Se tiene acceso a un experto que puede dar forma a los conocimientos necesarios para resolver el problema. La intervención de este experto dará al sistema la experiencia que necesita. El problema cambia rápidamente, o bien el conocimiento es el que cambia rápidamente, o sus soluciones son las que cambian constantemente. El desarrollo de un Sistema Experto no se considera que esta acabado una vez que funciona este, sino que continúa desarrollando y actualizando tanto el conocimiento del sistema como los métodos de procesamiento, quedando reflejados los progresos o modificaciones en el campo, área o sistema. [Velásquez, 2005] 2.1.2.2 LOS EXPERTOS HUMANOS Un experto humano es una persona que es competente en un área determinada del conocimiento o del saber. Un experto humano es alguien que sabe mucho sobre un tema determinado y que puede dar un consejo adecuado. Esta experiencia solo se adquiere tras un largo aprendizaje y a base de mucha experiencia. Los expertos humanos tienen las siguientes características generales: Son caros por dos motivos: por su escaso número y por necesitar un largo periodo de aprendizaje. No están siempre disponibles, pues son humanos y cuando se jubilan o mueren se llevan con ellos todos sus conocimientos. Es por eso que tradicionalmente están acompañados de un “aprendiz”. Hay expertos que tienen mal carácter, son informales o poco comunicativos, lo que a veces les hace antipáticos. 15 La forma más rápida de formar a un experto es mediante el aprendizaje formal o académico (“conocimiento profundo”) en un principio, y posteriormente un aprendizaje informal o practico (“conocimiento informal”). [Velásquez, 2010] 2.1.2.3 DIFERENCIA ENTRE UN EXPERTO Y UN NO EXPERTO HUMANO Tabla 2.2 Experto No Experto Tiempode Resolución Pequeño Grande Eficacia Resolutiva Alta Baja Organización Alta Baja Estrategias y Tácticas Si No Búsqueda de Soluciones Heurística No Heurística Cálculos aproximados Si No Diferencia entre un experto y un no experto humano Fuente: Velásquez, 2010 El uso de heurísticas contribuye grandemente a la potencia y flexibilidad de los Sistemas Expertos y tienen a distinguirlos aún más del software tradicional. 2.1.2.4. DIFERENCIAS ENTRE UN SISTEMA EXPERTO Y UN PROGRAMA TRADICIONAL Tabla 2.3 Sistema Experto Programa tradicional Conocimiento En programa e independiente En programa y circuitos Tipos de Datos Simbólicos Numéricos Resolución Heurística Combinatoria Def. Problema Declarativa Procedimental Conocimientos Imprecisos Precisos Modificaciones Frecuentes Raras 16 Sistema Experto Programa tradicional Explicaciones Si No Solución Satisfactoria Optima Justificación Si No Resolución Área limitada Especifico Comunicación Independiente En programa Diferencias entre un Sistema Experto y un Programa Tradicional Fuente: Velásquez, 2010 2.1.3 ARQUITECTURA BÁSICA DE LOS SISTEMAS EXPERTOS En la siguiente figura se muestra la arquitectura de un sistema experto Figura 2.1. Arquitectura de un sistema Experto Fuente: Velásquez, 2007 17 2.1.3.1 BASE DE CONOCIMIENTOS. Es la parte del sistema experto que contiene el conocimiento sobre el dominio. Hay que obtener el conocimiento del experto y codificarlo en la base de conocimientos. Este conocimiento lo constituye la descripción de: Objetos a tener en cuenta y sus relaciones Casos particulares o excepciones y diferentes estrategias de resolución con sus condiciones de aplicación (meta-conocimiento, es decir, conocimiento sobre el conocimiento) 2.1.3.2 BASE DE HECHOS (MEMORIA DE TRABAJO) Contiene los hechos sobre un problema que se han descubierto durante una consulta. Durante una consulta con el sistema experto, el usuario introduce la información del problema actual en la base de hechos. El sistema empareja esta información con el conocimiento disponible en la base de conocimientos para deducir nuevos hechos. 2.1.3.3 MOTOR DE INFERENCIA El sistema experto modela el proceso de razonamiento humano con un módulo conocido como el motor de inferencia. Dicho motor de inferencia trabaja con la información contenida en la base de conocimientos y la base de hechos para deducir nuevos hechos. Las categorías de Mecanismos de Inferencia son: 1. Determinismo: Lo inferido es una verdad universal. Por ej.: el Químico dice con certeza que si un átomo tiene dos electrones, entonces es un átomo de Helio. 2. Probabilístico: Son predicciones o probabilidades que no siempre son ciertas (se elige la probabilidad de mayor valor). Por ej.: las respuestas a la prevención de abandonos de los cursos de bachillerato, dadas por un sociólogo son tan sólo probabilidades, que pueden o no ser acertadas. Además de estos tres elementos, se 18 incluyen módulos de interface, indispensables para asegurar el diálogo entre el hombre y la máquina 2.1.3.4 SUBSISTEMA DE EXPLICACIÓN Una característica de los sistemas expertos es su habilidad para explicar su razonamiento. Usando el módulo del subsistema de explicación, un sistema experto puede proporcionar una explicación al usuario de por qué está haciendo una pregunta y cómo ha llegado a una conclusión. Este módulo proporciona beneficios tanto al diseñador del sistema como al usuario. El diseñador puede usarlo para detectar errores y el usuario se beneficia de la transparencia del sistema. 2.1.3.5 INTERFAZ DE USUARIO La interacción entre un sistema experto y un usuario se realiza en lenguaje natural. También es altamente interactiva y sigue el patrón de la conversación entre seres humanos. Un requerimiento básico del interfaz es la habilidad de hacer preguntas. Para obtener información fiable del usuario hay que poner especial cuidado en el diseño de las cuestiones. Esta interface comunica al motor de inferencia las consultas del usuario y a este último los resultados de la consulta. Y a la inversa. Permite, igualmente obtener el enunciado del problema inicial y los objetivos a alcanzar así como la consulta a la base de conocimiento. 2.1.4 LENGUAJES UTILIZADOS EN LA CONSTRUCCIÓN DE SISTEMAS EXPERTOS 2.1.4.1 CLIPS CLIPS es una herramienta que provee un entorno de desarrollo para la producción y ejecución de sistemas expertos. Fue creado a partir de 1984, en el Lyndon B. Johnson Space Center de la NASA. Los fondos cesaron a principios de los años 1990, y hubo un mandato de la NASA para comprar software comercial. http://es.wikipedia.org/wiki/Sistema_experto http://es.wikipedia.org/wiki/Lyndon_B._Johnson_Space_Center http://es.wikipedia.org/wiki/Lyndon_B._Johnson_Space_Center http://es.wikipedia.org/wiki/NASA 19 CLIPS es un acrónimo de C Language Integrated Production System (Sistema de Producción Integrado en Lenguaje C). En la actualidad, entre los paradigmas de programación que soporta CLIPS se encuentran la Programación lógica, la Programación imperativa y la Programación Orientada a Objetos. CLIPS probablemente es el sistema experto más ampliamente usado debido a que es rápido, eficiente y gratuito. Aunque ahora es de dominio público, aún es actualizado y mantenido por su autor original, Gary Riley [Marquez, 1996] 2.1.4.2 PROLOG Se trata de un lenguaje de programación ideado a principios de los años 70 en la Universidad de Aix-Marseille I (Marsella, Francia) por los estudiantes modélicos Alain Colmerauer y Philippe Roussel. Nació de un proyecto que no tenía como objetivo la traducción de un lenguaje de programación, sino la clasificación algorítmica de lenguajes naturales. Alain Colmerauer y Robert Pasero trabajaban en la parte del procesado del lenguaje natural y Jean Trudel y Philippe Roussel en la parte de deducción e inferencia del sistema. Interesado por el método de resolución SL, Trudel persuadió a Robert Kowalski para que se uniera al proyecto, dando lugar a una versión preliminar del lenguaje Prolog a finales de 1971 y apareciendo la versión definitiva en 1972. Esta primera versión de Prolog fue programada en ALGOL W. Inicialmente se trataba de un lenguaje totalmente interpretado hasta que, en 1983, David H.D. Warren desarrolló un compilador capaz de traducir Prolog en un conjunto de instrucciones de una máquina abstracta denominada Warren Abstract Machine, o abreviadamente, WAM. Desde entonces Prolog es un lenguaje semi-interpretado. Si bien en un principio se trataba de un lenguaje de uso reducido, la aparición de intérpretes del mismo para microordenadores de 8 bits (ej: micro-PROLOG) y para ordenadores domésticos de 16 bits (ej: Turbo Prolog de Borland, entre otros muchos) a lo largo de la década de 1980 contribuyó notablemente a su popularización. Otro importante factor en su difusión fue la adopción del mismo para el desarrollo del proyecto de la quinta generación de computadoras a principios de la década de los 80, en cuyo contexto se http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n http://es.wikipedia.org/wiki/Paradigma_de_programaci%C3%B3n http://es.wikipedia.org/wiki/Programaci%C3%B3n_l%C3%B3gica http://es.wikipedia.org/wiki/Programaci%C3%B3n_imperativa http://es.wikipedia.org/wiki/Programaci%C3%B3n_imperativa http://es.wikipedia.org/wiki/Programaci%C3%B3n_Orientada_a_Objetos http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n http://es.wikipedia.org/wiki/Universidad_de_Provenza http://es.wikipedia.org/wiki/Marsella http://es.wikipedia.org/wiki/Francia http://es.wikipedia.org/w/index.php?title=Alain_Colmerauer&action=edit&redlink=1 http://es.wikipedia.org/w/index.php?title=Alain_Colmerauer&action=edit&redlink=1 http://es.wikipedia.org/wiki/Philippe_Roussel http://es.wikipedia.org/wiki/ALGOL http://es.wikipedia.org/w/index.php?title=David_H.D._Warren&action=edit&redlink=1http://es.wikipedia.org/wiki/Conjunto_de_instrucciones http://es.wikipedia.org/wiki/Conjunto_de_instrucciones http://es.wikipedia.org/wiki/M%C3%A1quina_abstracta http://es.wikipedia.org/w/index.php?title=Warren_Abstract_Machine&action=edit&redlink=1 http://es.wikipedia.org/wiki/Microordenador http://es.wikipedia.org/wiki/Micro-PROLOG http://es.wikipedia.org/wiki/Turbo_Prolog http://es.wikipedia.org/wiki/Borland http://es.wikipedia.org/wiki/Quinta_generaci%C3%B3n_de_computadoras http://es.wikipedia.org/wiki/Quinta_generaci%C3%B3n_de_computadoras 20 desarrolló la implementación paralelizada del lenguaje llamada KL1 y del que deriva parte del desarrollo moderno de Prolog. Las primeras versiones del lenguaje diferían, en sus diferentes implementaciones, en muchos aspectos de sus sintaxis, empleándose mayormente como forma normalizada el dialecto propuesto por la Universidad de Edimburgo, hasta que en 1995 se estableció un estándar ISO (ISO/IEC 13211-1), llamado ISO-Prolog. Prolog se enmarca en el paradigma de los lenguajes lógicos y declarativos, lo que lo diferencia enormemente de otros lenguajes más populares tales como Fortran, Pascal, C o Java. [Marquez, 1996] 2.1.4.3 SMALLTALK Smalltalk es un lenguaje reflexivo de programación, orientado a objetos y con tipado dinámico. Por sus características, Smalltalk puede ser considerado también como un entorno de objetos, donde incluso el propio sistema es un objeto. Metafóricamente, se puede considerar que un Smalltalk es un mundo virtual donde viven objetos que se comunican entre sí, mediante el envío de mensajes. Un sistema Smalltalk está compuesto por: Una Máquina virtual (Virtual machine) Un archivo llamado "Imagen", que contiene a todos los objetos del sistema Un lenguaje de programación (también conocido como Smalltalk) Una enorme biblioteca de "objetos reusables" Y generalmente, un entorno de desarrollo que además puede funcionar como un sistema en tiempo de ejecución. [Marquez, 1996] http://es.wikipedia.org/wiki/Programaci%C3%B3n_distribuida http://es.wikipedia.org/wiki/Kernel_Language_1 http://es.wikipedia.org/wiki/Sintaxis http://es.wikipedia.org/wiki/Paradigma http://es.wikipedia.org/wiki/Programaci%C3%B3n_l%C3%B3gica http://es.wikipedia.org/wiki/Programaci%C3%B3n_declarativa http://es.wikipedia.org/wiki/Fortran http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Pascal http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_C http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n http://es.wikipedia.org/wiki/Reflexi%C3%B3n_%28inform%C3%A1tica%29 http://es.wikipedia.org/wiki/Orientaci%C3%B3n_a_objetos http://es.wikipedia.org/wiki/Tipado_din%C3%A1mico http://es.wikipedia.org/wiki/Objeto_%28programaci%C3%B3n%29 http://es.wikipedia.org/wiki/Paso_de_mensajes http://es.wikipedia.org/wiki/M%C3%A1quina_virtual http://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado http://es.wikipedia.org/wiki/Sistema_en_tiempo_de_ejecuci%C3%B3n http://es.wikipedia.org/wiki/Sistema_en_tiempo_de_ejecuci%C3%B3n 21 2.1.5 CAMPOS DE APLICACIÓN DE LOS SISTEMAS EXPERTOS Medicina Los SE enfrentan tareas tales como la resolución de problemas, razonamiento automático y aprendizaje automático. Es típico el estudio de estos sistemas inteligentes en dominios específicos del conocimiento, como la medicina. Los programas en esta área se pueden clasificar en: Métodos de contestación prefijada, formados por algoritmos aritméticos lógicos, en los cuales el control y el conocimiento están juntos y están escritos en lenguajes procedimentales. Métodos estadísticos que se clasificaban en Bayesianos, de análisis discriminantes y análisis secuencial. Análisis de estados Financieros Es un equivalente a los estados de salud en la medicina. El análisis de estados financieros se divide en tres fases. o Examen o revisión. Se revisan documentos contables como balance, cuenta de pérdidas y ganancias, etc. Utilizando para ello una serie de técnicas o procedimientos específicos(comparaciones de masas patrimoniales, porcentajes) o Se analiza e interpreta la información antes recopilada y se obtiene un panorama de la situación actual de la empresa. o Por último se presiden soluciones para ayudar a mejorar la situación futura de la empresa. Planificación Financiera La disciplina conocida como Gestión Financiera implica un gran número de subramas (análisis de inversión, presupuesto de capital, análisis financiero, etc.) incluyendo la planificación financiera. La mayoría de los sistemas expertos se centran en resolver problemas de esta disciplina. 22 Esta rama de la gestión financiera intenta identificar el resultado de la aplicación de planes futuros en la empresa, tratando de identificar los recursos que esta necesita para conseguirlos. Los SE enfocados a la planificación financiera tienen sus principales aplicaciones en: o Análisis de mercado o Asesoría jurídica y fiscal o Evaluación de riesgos de gestión de cartera o Gestión de personal o Planes de inversión de capitales o Planes de pensiones o Verificación de firmas Industria Los SE en la industria se aplican principalmente en: o Diagnóstico de control de calidad o Detección y actuación en caso de alarmas y emergencias o Configuración de equipos y sistemas bajo demanda o Generación de especificaciones y manuales de utilización, mantenimiento y reparación de sistemas fabricados bajo demanda o Control de procesos industriales o Gestión optima de los recursos Electrónica, Informática y Telecomunicaciones Las aplicaciones principales de los SE son: o Diseño de circuitos de alto grado de integración o Sistemas inteligentes de auto diagnóstico contenidos. o Configuración de equipos y sistemas ´ o Control de redes de comunicación o Programación automática 23 o Ajuste de equipos y sistemas o Optimización de programas de computadora Militar Las aplicaciones se centran en: o Guiado de vehículos y proyectiles de forma semiautomática o Planificación estratégica o Elección inteligente de contramedidas electrónicas con el fin de obtener la máxima efectividad con unos recursos limitados o Reconocimiento automático de blancos y valoración de los mismos o Interpretación de señales provenientes de sensores o Optimización de carga Contabilidad Las Actividades administrativas, financieras y contables son campos en los que se pueden aplicar los Sistemas Expertos, pues cumplen la mayoría de los requisitos que son necesarios para poder desarrollar este tipo de sistemas (por ejemplo las tareas requieren conocimiento especializado, existen auténticos expertos en la materia, los expertos son escasos, la pericia necesita ser localizada en distintos lugares, la mayoría de las tareas requieren soluciones heurísticas). Los Sistemas Expertos se dejan para las tareas que estén muy pocos o nada estructurados, pues en este tipo de tareas se requiere mucho del juicio de un experto y se utilizan reglas heurísticas para llegar rápidamente a una solución, dando que el campo de soluciones puede ser muy amplio. Los Sistemas Expertos se pueden aplicar en todas las áreas de la contabilidad. Ahora bien, como esta clasificación es muy grande y además poco practica, se puede clasificar las aplicaciones potenciales de los Sistemas Expertos en contabilidad en las siguientes áreas de aplicación: 24 Auditoria: Análisis de la materialidad y del riesgo, evaluación del control interno, planificación de la auditoria, evaluación de la evidencia, análisis de cuentas concretas, formación de opinión, emisión del informe, auditoría interna, auditoria informática y demás situaciones en las cuales, como se menciono antes, requieren de la decisión de un experto. Contabilidad de costes y de gestión: Cálculo y asignación de costos,asignación de recursos escasos, control y análisis de desviaciones, planificación y control de gestión, diseño de sistemas de gestión de información, etc. Contabilidad financiera: regulación legal, normas y principios contables, recuperación y revisión analítica de registros contables diseño de sistemas contables, imputación contable, consolidación de estados contables, etc. Análisis de estados financieros: Análisis patrimonial, financiero y económico de los estados contables, salud financiera de la empresa, cálculo e interpretación de ratios, cálculo y análisis de tendencias, etc. Planificación financiera e industria de los servicios financieros: Planificación financiera corporativa, planificación financiera personal, análisis de inversiones, gestión de tesorería, mercado de valores, seguros, banca, concesiones de crédito, etc. Robótica Aun cuando los robots no son como se les muestra en las películas, realmente pueden llegar a realizar actividades sorprendentes, sobre todo si son utilizados en la fabricación de productos, donde las tareas son repetitivas y aburridas. Los robots son muy solicitados en ambientes peligrosos para el ser humano, como en el manejo de explosivos, altas temperaturas, atmosfera sin la cantidad adecuada de oxigeno y en general bajo cualquier situación donde se pueda deteriorar la salud. 25 La mayoría de los robots tienen un brazo con varias uniones móviles y partes prensiles, donde todos sus elementos son controlados por un sistema de control programado para realizar varias tareas bajo una secuencia de pasos preestablecidos. Los investigadores de IA pretenden adicionar al robot métodos y técnicas que le permitan actuar como si tuviera un pequeño grado de inteligencia, lo cual pretende lograr con la conjunción de todas las áreas de la IA. Otros campos de aplicación o Psicología o Agricultura o Arqueología o Derecho o Educación o Geología o Química 2.2 METODOLOGÍA DE DESARROLLO DE BUCHANAN 2.2.1 INTRODUCCIÓN La metodología que se utiliza es la de Buchanan que tiene como pilar básico la adquisición de conocimiento (de distintas fuentes, como ser libros, expertos, otros) [Martínez, 2009]. Las etapas que contempla esta metodología y que el ingeniero de conocimiento debe pasar para producir un Sistema Experto son seis: Identificación, Conceptualización, Formalización, Implementación, Testeo y Revisión del prototipo. 2.2.2 ETAPAS DE LA METODOLOGÍA BUCHANAN Se tienen 6 etapas fundamentales: Identificación Abarca desde la lectura de libros o artículos, las entrevistas o charlas con las personas familiarizadas con el tema y la búsqueda de un experto que esté dispuesto a colaborar 26 en la construcción del sistema; como también la definición de cuáles son las funciones o tareas más idóneas para ser realizadas por el sistema experto [Martínez, 2009]. Estas tareas son importantes para determinan que lenguaje y que sistema se usará. El ingeniero de conocimiento debe sentirse razonablemente cómodo respecto del dominio del problema, como para conversas inteligentemente con el experto, en resumen: Se identifican los participantes y roles, los recursos, fuentes de conocimiento. Se establecen las facilidades computacionales y presupuestos. Se identifican los objetivos o metas. Conceptualización Significa que por medio de entrevistas con el experto, con el objetivo de identificar y caracterizar el problema informalmente. El experto de campo y el ingeniero de conocimiento definen el alcance del sistema experto, es decir, que problemas va a resolver concretamente el sistema experto [Martínez, 2009]. Se analizarán los conceptos vertidos por el experto de campo. Los mismos serán tomados en cuenta con sumo interés, pues el experto humano o de campo es quién conoce en detalle los fundamentos articulares del tema a investigar. Formalización Con el problema adecuadamente definido el ingeniero de conocimiento empieza a determinar los principales conceptos del dominio que se requieren para realizar cada una de las tareas que va a resolver el sistema. Esto es importante para la tarea de definición del sistema experto y para mantener una adecuada documentación del mismo, ya que es útil para la tarea de diseño, construcción y para posteriores modificaciones del sistema. El ingeniero de conocimiento debe prestar atención al 27 experto de campo para encontrar la estructura básica que el experto utiliza para resolver el problema. Está formada por una serie de mecanismos organizativos que el experto de campo usa para manejarse en ese dominio. Esta estructura básica de organización del conocimiento le permite al experto realizar ciertos tipos de inferencias. El ingeniero de conocimiento además debe reconocer las estrategias básicas que usa el experto cuando desarrolla su tarea, que hechos establece primero, que tipos de preguntas realiza primero, si define supuestos inicialmente sin bases con información tentativa, como determina el experto que pregunta debe usar para refinar sus suposiciones y en qué orden el experto prosigue con cada sub tarea y si ese orden varía según el caso [Martínez, 2009]. Se identifican los conceptos relevantes e importantes. El objetivo es el de formalizar el diagrama de información conceptual. Se formaliza los elementos sub problemas es una especificación parcial para construir un prototipo de la base de conocimiento. Implementación El ingeniero de conocimiento deberá a medida que se desarrolla el prototipo que el formalismo usado es el apropiado para reflejar los conceptos y el proceso de inferencia del experto. Las características particulares de construcción del lenguaje capturen exactamente los aspectos estructurales más importantes de los conceptos usados por el experto, la estructura del control del lenguaje al activar las reglas refleje la estrategia usada por el experto [Martínez, 2009]. o Se formaliza el conocimiento obtenido del experto. o Se elige la organización. o El lenguaje de programación. 28 Testeo Se observa el comportamiento del prototipo, el funcionamiento de la base de conocimiento y la estructura de las inferencias, verificándose que el Sistema Experto posea eficiencia [Martínez, 2009]. Revisión del prototipo o Se reformulan los conceptos. o Se rediseña y refina el prototipo. o Se refina el prototipo, o si fuera el caso, se rediseña y se reformulan los conceptos. La característica más importante de ésta metodología es la constante relación entre el ingeniero de conocimiento y el experto humano, en la figura 2.2. se presenta un resumen de las etapas para el diseño de un Sistema Experto utilizando la metodología Buchanan. Figura 2.2. Etapas de la elaboración de un Sistema Experto Fuente: [Martínez, 2009] 2.3 LÓGICA DIFUSA 2.3.1 INTRODUCCIÓN El concepto de Lógica Difusa fue concebido por Lofti A. Zaded, profesor de la Universidad de California en Berkeley, quién inconforme con los conjuntos clásicos que sólo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto, la presentó como una forma de procesar información permitiendo pertenencias parciales a 29 unos conjuntos, que en contraposición a los clásicos los denominó Conjuntos Difusos (fuzzy sets). El concepto de conjunto difuso fue expuesto por Zadeh el año 1965, hoy clásico en la literatura de la lógica difusa, titulado. El año 1971 publica el artículo, "Quantitative Fuzzy Semantics", en donde introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conocen en la actualidad. Zadeh dice: "La lógica difusa trata de copiar la forma en que los humanos toman decisiones” no siendo decisiones que solamente expresan verdad o falsedad en la respuesta[López, 2009]. La lógica difusa es una metodología que proporciona una manera simple y elegante de obtener una conclusión a partir de información de entrada vaga, ambigua, imprecisa, con ruido o incompleta. En general la lógica difusa imita como una persona toma decisiones basada en información con las características mencionadas. Una de las ventajas de la lógica difusa es la posibilidad de implementar sistemas basados en ella tanto en hardware como en software o en combinación de ambos. La lógica difusa es una técnica de la inteligencia computacional que permite trabajar con información con alto grado de imprecisión, en esto se diferencia de la lógica convencional que trabaja con información bien definida y precisa. Es una lógica multivaluada que permite valores intermedios para poder definir evaluaciones entre sí/no, verdadero/falso, negro/blanco, caliente/frío, etc. [Rodríguez, 2005]. En la vida cotidiana se utilizan palabras para describir variables, por ejemplo cuando se dice “hoy hace calor” es equivalente a decir la temperatura actual es alta, se utiliza la palabra alta, para describir la temperatura actual, es decir, la variable temperatura actual toma la palabra alta como su valor. Cuando una variable toma números como sus valores, se tiene un marco de trabajo bien formulado matemáticamente, pero cuando una variable toma palabras como sus valores no se tiene un marco de trabajo formal matemáticamente, de aquí que el concepto 30 de variable lingüística se introduce, si una variable puede tomar palabras en lenguaje natural como sus valores, esta es llamada variable lingüística [Rolston, 1998]. A continuación en la Figura 2.3 se ve los elementos de un conjunto difuso. Figura 2.3. Elementos de un Conjunto Difuso Fuente: [Vargas, 2005] 2.3.2 TEORÍA DE CONJUNTOS DIFUSOS 2.3.2.1 CONJUNTOS DIFUSOS Los conjuntos difusos pueden ser considerados como una generalización de los conjuntos clásicos, la teoría clásica de conjuntos solo contempla la pertenencia o no pertenencia de un elemento a un conjunto, sin embargo la teoría de conjuntos difusos contempla la pertenencia parcial de un elemento a un conjunto, es decir, cada elemento presenta un grado de pertenencia a un conjunto difuso que puede tomar cualquier valor entre 0 y 1. Este grado de pertenencia se define mediante la función característica asociada al conjunto difuso, que es cada valor que pueda tomar un elemento o variable x, es decir, la función característica o de pertenencia denotada por μA(x) proporciona el grado de pertenencia de este valor de x al conjunto difuso A [Vargas, 2009]. Formalmente un conjunto difuso en el universo de discurso (son todos los valores que pueden ser tomados por un atributo) U se caracteriza por una función de pertenencia o característica μA(x) que toma valores en el intervalo [0,1], y puede representarse como un 31 conjunto de pares ordenados de un elemento x y su valor de pertenencia al conjunto [Choque, 2005]: A= {(x, μA(x)) Ι x є U}. 2.3.3. FUNCIÓN DE PERTENENCIA La función de pertenencia o característica proporciona una medida de grado de similaridad de un elemento de U con el conjunto difuso. La forma de una función de pertenencia utilizada, depende del criterio aplicado en la resolución de cada problema y variara en función de la cultura, geografía, época o punto de vista del usuario. La única condición que debe cumplir una función de pertenencia es que tome valores entre 0 y 1, con continuidad [Vargas, 2009]. Entre las funciones de pertenencia típicas [Choque, 2005]: pueden distinguirse: a) Función Triangular. Se encuentra definida por sus límites: inferior a y superior b, y el valor modal m, tal que a<m<b. La función triangular se representa como se ve en la Figura 2.5. Figura 2.4. Función Triangular Fuente: [Choque, 2005] 32 b) Función Trapezoidal. Se encuentra definida por sus límites: inferior a y superior d, y los límites de su soporte, b y c, inferior y superior respectivamente. La función trapezoidal se representa como se ve en la Figura 2.6. Figura 2.5. Función Trapezoidal Fuente: [Choque, 2005] c) Función S. Se encuentra definida por sus límites: inferior a y superior b, y el valor m, denominado punto de inflexión, tal que a<m<b. Un valor típico de esta función es el promedio m = (a+b)/2. El crecimiento es más lento cuanto mayor sea la distancia (a-b). La función S está dada por: La función S se representa como se ve en la Figura 2.7. Figura 2.6. Función S Fuente: [Choque, 2005] 33 En general, es preferible usar funciones simples, debido a que simplifican muchos cálculos y no pierden exactitud, debido a que precisamente se está definiendo un concepto difuso [Choque, 2005]. Conceptualmente existen dos aproximaciones para determinar la función de pertenencia asociada a un conjunto: la primera aproximación está basada en el conocimiento humano de los expertos y la segunda aproximación es utilizar una colección de datos para diseñar la función. El número de funciones características asociadas a una misma variable es elegido por el experto: a mayor número de funciones características tendremos mayor resolución pero también mayor complejidad computacional; además estas funciones pueden estar solapadas, lo que pone de manifiesto un aspecto clave de la lógica difusa a la vez, es decir, “el vaso puede estar medio lleno y medio vacío a la vez” [Vargas, 2009]. 2.3.4. OPERACIONES ELEMENTALES CON CONJUNTOS DIFUSOS Al igual que en la teoría clásica de conjuntos, sobre los conjuntos difusos podemos definir las operaciones de unión, intersección, complementario. [Reina, 2008] 2.3.4.1 INFERENCIA DIFUSA Se llama reglas difusas al conjunto de proposiciones IF – THEN que modelan el problema que se quiere resolver. Una regla difusa simple tiene la forma: “si u es A entonces v es B” Donde A y B son conjuntos difusos definidos en los rangos de u y v respectivamente. Un regla expresa un tipo de relación entre los conjuntos A y B cuya función característica seria μA->B(x, y) y representa lo que conocemos como implicación lógica. La elección apropiada de esta función característica está sujeta a las reglas de la lógica proposicional [Vargas, 2005]. 34 2.3.4.2 REGLAS DIFUSAS Una regla difusa base es un conjunto de reglas Si – ENTONCES que pueden ser expresadas de la siguiente forma: Reglam: Si ui es Aim y u2 es A2m y up es Apm Entonces v es Bm Con m= 1, 2,3,…, M Donde Aim y Bm son conjuntos difusos, ui Є U y v є V Existen dos caminos para obtener el conjunto de reglas correspondiente a un conjunto de datos numéricos: dejar que los datos establezcan los conjuntos difusos que aparecen en los antecedentes y los consecuentes; predefinir los conjuntos difusos para antecedentes u consecuentes para luego asociar los datos a esos conjuntos. Para llegar a obtener el conjunto completo de reglas que modelan un problema se puede partir de considerar todas las combinaciones de reglas Pt, que es posible establecer teóricamente, entre el número de antecedentes p y el número de conjuntos difusos de entrada Ap considerados para cada antecedente. Así, para cada consecuente, el número teórico de reglas posibles será: Sin embargo entre estas Pt reglas teóricamente posibles para cada consecuente, habrá algunas que no tengan sentido físico y otras que no se ajusten a las características del problema a resolver. Se deberá pues seleccionar, de entre todas las reglas posibles, el conjunto de reglas más adecuadas al problema que se considera [Vargas, 2009]. 2.3.4.3 IMPLICACIÓN DIFUSA Al igual que para describir las nociones básicas de la teoría de conjuntos difusos podemos establecer un paralelismo con las de la teoría clásica de conjuntos, también los fundamentos de la teoría de la lógica difusa parten y toman los conceptos fundamentales
Compartir