299017 – SISTEMAS EXPERTOS Guía de Actividades Ev

Anuncio
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
SISTEMAS EXPERTOS - 299017
EVALUACIÓN NACIONAL DEL CURSO
TEMÁTICAS:
 UNIDAD 1 – VISIÓN GENERAL DE LA INTELIGENCIA ARTIFICIAL Y LOS SISTEMAS EXPERTOS
 UNIDAD 2 – DESARROLLO DE UN SISTEMA EXPERTO
 UNIDAD 3 – APRENDIZAJE DE LOS SISTEMAS EXPERTOS
DOCUMENTOS DE REFERENCIA:
Modulo:
Sistemas Expertos. UNAD. 2009
Aula virtual: Sistemas Expertos
ESTRATÉGICA DE APRENDIZAJE:
Estudio de casos
OBJETIVO
Desarrollar un sistema experto desde la construcción de su base de conocimientos, con lo
aprendido en el curso.
DESCRIPCIÓN DE LA ACTIVIDAD
El tutor creará un foro llamado “Evaluación Nacional” donde los estudiantes se organizaran, definirán roles,
enviarán los aportes y construirán el producto final; las dudas al tutor pueden hacerse en el foro general o en
el sistema de mensajería.
TIPO DE ACTIVIDAD Y EVALUACIÓN
Grupal – Foro Examen Final – 200 puntos
PARTICIPACIÓN EN EL FORO: TRABAJO DE GRUPO
Los estudiantes con lo adelantado en las unidades anteriores, se organizarán dividiendo sus roles al
interior del grupo y seleccionando un líder quien será el encargado de subir el producto final, es importante
recalcar que TODOS los estudiantes deben participar y se esperan MÍNIMO 3 aportes, en fechas diferentes.
PREAMBULO: EL DISEÑO DE UN SISTEMA EXPERTO
El diseño de un sistema cualquiera consiste en la evaluación de las alternativas y la especificación de una
solución detallada. El diseño especifica como logrará el sistema los objetivos para los cuales se creará.
Para un sistema experto, el concepto anterior también es válido. Una vez se tiene el problema a resolver se
debe analizar y evaluar las soluciones dentro del área de conocimiento respectivo. Aclarando que el diseño
de un sistema experto variará en relación a los sistemas tradicionales. En todo desarrollo de un sistema,
juega un papel importante el equipo de trabajo. Para el desarrollo de un sistema experto, se consideran las
siguientes clases de personas que interactúan en su creación:
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
1
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
1. El experto: La función del experto es la de poner sus conocimientos especializados a disposición del
Sistema Experto.
2. El ingeniero del conocimiento: Es el encargado de realizar las preguntas al experto, estructura sus
conocimientos y los implementa en la base de conocimientos.
3. El usuario: Aporta sus deseos y sus ideas, determina especialmente el escenario en el que debe
aplicarse el Sistema Experto.
ETAPAS DEL DESARROLLO DE UN SISTEMA EXPERTO
Definición del Problema.
Precisamente en la primera fase del proyecto es de vital importancia determinar correctamente el ámbito
estrechamente delimitado de trabajo. Por lo que, el ingeniero del conocimiento y el experto trabajan muy
unidos para elaborar el problema que debe ser resuelto por el sistema.
Adquisición del conocimiento.
Una vez delimitado el dominio, nuestro sistema se debe ampliar con los conocimientos del experto. El
experto debe comprobar constantemente si su conocimiento ha sido transmitido de la forma más
conveniente. El ingeniero del conocimiento es responsable de una implementación correcta, pero no de la
exactitud del conocimiento. La responsabilidad de esta exactitud recae en el experto.
Desarrollo de prototipos.
Existen dos importantes riesgos en el desarrollo de Sistemas Expertos:


No existen implementaciones similares que puedan servir de orientación al encargado del desarrollo
en la casi totalidad de los casos.
En muchos puntos, los requisitos necesarios están esbozados con muy poca precisión.
Un método efectivo para la disminución de los problemas anteriores, es la implementación de un prototipo
de Sistema Experto que permita llevar a cabo las funciones más importantes de éste. Para Sistemas
Expertos, la implementación de prototipos es el procedimiento más adecuado, pues posibilita una rápida
reacción a los deseos en constante cambio, tanto por parte de los expertos como parte del usuario.
Integración de ingeniería de sistemas.
Una vez definidas y estructuradas las bases del sistema experto se procede a la integración de la parte
cognoscitiva y tradicional del sistema, incluyendo las aprobaciones del experto, usuario e ingeniero del
conocimiento.
Verificación y pruebas.
Por último es necesaria la implementación del sistema elaborado. Para ello se realizan diversas clases de
pruebas. Dichas pruebas ayudan al mejoramiento y a la depuración final del sistema, para obtener un
producto que cubra las necesidades del usuario.
¿Qué hace el ser humano o los programas para resolver problemas? El ser humano utiliza una serie de
métodos para resolver problemas, el más sencillo de ellos es el método algorítmico. Todas las personas
poseen algoritmos para resolver problemas tales como amarrar las cintas de los zapatos, multiplicar
números, planear unas vacaciones, etc. Algunos de los algoritmos son sencillos otros son más complejos,
sin embargo todos ellos estas conformado por secuencia de acciones que deben descubrirse o aprenderse.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
2
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
CONSIDERACIONES DE INGENIERÍA DE SOFTWARE
La ingeniería de software es aplicable al desarrollo de los sistemas expertos pero además se
necesitan otras técnicas, por la razón que estos sistemas están integrados tanto por paquetes
convencionales como por componentes exclusivos.
La creación equivale simplemente a desarrollar un paquete de programas; por consiguiente el
sistema queda sujeto a las mismas normas, métodos y técnicas de ingeniería que cualquier otro
grupo de programas. Parece trivial pero es necesario plantearlo porque los nuevos sistemas expertos
deberán incluir todas estas reglas, tales como, presentación cómoda al usuario, diseño adecuado,
etc.
Para desarrollar el software es necesario la búsqueda de los recursos adecuados para
implementarlo. Dichos recursos son mano de obra, maquinaria y tiempo.
Pero ¿Qué es Ingeniería de software? Es el conjunto de métodos, técnicas y herramientas que controlan el
proceso integral del desarrollo de software y suministra las bases para construir software de calidad de
forma eficiente en los plazos adecuados.
La Ingeniería de software abarca cuatro elementos clave:
1. Métodos o técnicas: Indican cómo construir técnicamente el software, y abarca una serie de tareas que
incluyen la planificación y estimación de proyectos, el análisis de requisitos, el diseño de estructuras de
datos, programas y procedimientos, la codificación, las pruebas y el mantenimiento. Los métodos
introducen frecuentemente una notación específica para la tarea en cuestión y una serie de criterios de
calidad.
2. Herramientas: Son instrumentos o sistemas automatizados para realizar algo de la mejor manera
posible. Esta manera óptima puede significar que la herramienta produce resultados más exactos, más
eficientes, más productivos, o que refuerza la calidad del producto resultante. Proporcionan un soporte
automático o semiautomático para todas las fases del desarrollo y sistemas que integran las
herramientas de cada fase de manera que sirven para todo el proceso. Estas herramientas se
denominan CASE (Computer Aided Software Engineering).
3. Procedimientos: Son la combinación de las técnicas y las herramientas que en forma conjunta dan un
resultado particular. Los procedimientos indicarán qué herramientas deberán utilizarse cuando se aplican
determinadas técnicas. Definen la secuencia en que se aplican los métodos, los documentos que se
requieren, los controles que aseguran la calidad y las directrices que permiten a los gestores evaluar los
progresos.
4. Paradigmas: Representan un enfoque particular o filosofía para la construcción del software. No es
mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un
paradigma resulta más apropiado que otro. Los más comunes son el desarrollo en cascada, el desarrollo
en espiral, el desarrollo por prototipos, el desarrollo incremental, etc. También existen modelo híbridos,
los cuales combinan elementos de diferentes modelos según las necesidades existentes.
Todos los elementos antes mencionados de la ingeniería de software son aplicados en el desarrollo de los
sistemas expertos.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
3
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
ACTIVIDADES A DESARROLLAR
1. Seleccionar un TEMA A DESARROLLAR de la tabla relacionada a continuación y de acuerdo con
la definición del problema seleccionado, codificación y selección de tipo de sistema experto es
necesario que a su sistema experto le establezca probabilidades, es decir, dependiendo de las
selecciones de hechos que se le hagan y selecciones de reglas que tome el SE, este debe arrojar la
respuesta indicando la probabilidad de esa respuesta.
2. En el respectivo foro de socialización dar la discusión necesaria para llegar a acuerdos y la definición
de roles que cada integrante del grupo adoptara para el desarrollo de la actividad propuesta.
3. Crear el subsistema de explicación del sistema experto, es necesario explicar porque se tomaron
ciertas decisiones, esta fase debe incluir la visita y entrevista al experto humano en el tema para la
evaluación y elaboración de la propuesta de SE a implementar según el caso seleccionado.
4. Indicar el precio de su SE para venderlo en el mercado, justificando el por qué ese precio y cuál
sería la estrategia publicitaria para ofertarlo.
5. Elaborar un manual de usuario del sistema creado que aborde instalación, uso, funciones y como
corregir posibles errores (piensen que este manual saldrá al mercado).
6. Desarrollar una presentación (power point, flash, Latex, prezy, etc), donde muestren el problema a
resolver, el desarrollo y bondades del SE, expliquen cada uno de los componentes, los resultados,
el valor del venta del SE. (Revisar indicaciones para realizar una buena presentación publicitaria del
SE).
7. El grupo deberá publicar un video al respecto en Youtube.com como valor agregado del trabajo y
sustentación del mismo, la URL debe estar publicada en el mensaje de entrega del Producto Final.
8. Entregan un único informe, la presentación y el manual de usuario en el foro de entrega del producto
final.
TEMAS PROPUESTOS PARA DESARROLLAR EL SISTEMA EXPERTO
ORDEN
DESCRIPCIÓN
1
Sistema de Ayuda sobre Legislación Colombiana en Riesgos de Trabajo. Este sistema
ayuda al usuario a encontrar dentro de la legislación colombiana, material relativo a los
accidentes de trabajo. Se consume mucho tiempo dentro de las leyes para encontrar el
material correcto y es este sistema el encargado de ayudar a ahorrar tiempo en esta
búsqueda
2
Sistema Experto para Asistir Decisiones Turísticas. El estudio del comportamiento del
consumidor del turismo es una actividad compleja en el cual intervienen numerosas variables.
Los sistemas expertos actúan como asistentes y auxiliares complejos de gran utilidad,
brindando ayuda efectiva en aquellos trabajos que requieren responsabilidad, competencia e
intuición. Se desarrollara un prototipo de Sistema Experto, basado en plataforma Web, para
asistir a los potenciales turistas en sus decisiones. El sistema recomienda un destino de
acuerdo a las preferencias de los consumidores bajo el paquete turístico denominado:
"Colombia, un misterio un legado...".
3
Sistema Experto de Gestión Bancaria. Consiste en el desarrollo de un Sistema que tiene
como principal objetivo contribuir a la toma de decisiones en el área bancaria respecto de las
solicitudes de préstamos hipotecarios y de tarjetas de crédito en sus diversas modalidades.
Su misión es poner en manos del experto especializado en la materia una herramienta que
ayude a la toma de decisiones, ofreciendo de modo objetivo y consistente una propuesta de
resolución de los casos planteados.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
4
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
ORDEN
DESCRIPCIÓN
4
Recetario Homeópata. Desarrollar un sistema experto que ayude en la decisión de
tratamiento de enfermedades a un médico homeópata. La entrada al sistema serán los
síntomas y las características de carácter del paciente. La salida será la medicación más
adecuada al paciente.
5
Sistema de Asistencia para la Selección de Estrategias y Actividades Instruccionales.
En el ámbito educativo existe la necesidad de hacer más eficiente la toma de decisiones
sobre los modelos instruccionales, apoyándose de las potencialidades que tienen las TIC y
los avances en las técnicas de la Inteligencia Artificial, que están dirigidos al desarrollo de
programas computarizados, que emulan los procesos del pensamiento humano utilizando
estructuras que contienen conocimiento y la experiencia de los expertos humanos. Se debe
elaborar una propuesta, basada en la Ingeniería del Conocimiento, para el desarrollo de un
sistema experto que recomiende al docente, modelos de enseñanza como macroestrategias
pertinentes a la planificación e implementación de la actividad didáctica.
6
Sistema Informático Jurídico para la Individualización y Acuerdos sobre la Pena.
Implementar un sistema informático jurídico cuyo objeto será el de asistir a los operadores de
la justicia –jueces, fiscales y defensores- del fuero penal en el proceso de individualización de
la pena. Se deben tener en cuenta las leyes actuales que operan en tal sentido.
7
Sistema sobre Peticiones, Quejas, Reclamos o Felicitaciones Concernientes a la
Prestación del Servicio. El sistema desarrollado encontrara soluciones a las PQRF de los
clientes, evaluando el delicado equilibrio entre la satisfacción del cliente y el costo para la
empresa.
Juego el Perro Pastor. El estudio del control de animales es un experimento del dominio real
que puede ser probado por sistemas inteligentes, dado que el grado de procesamiento por
parte del computador es elevado y el tiempo en el que se tiene que encontrar una solución es
corto. Dentro de nuestro caso de estudio tenemos un perro pastor que tiene que controlar su
rebaño de ovejas, definir el escenario.
8
9
Premisas: (1). Contamos un escenario tipo markoviano, en este existen ciertos espacios que
son marcados como peligrosos y otro tipo de agente lobo que su objetivo es satisfacer su
apetito. (2). En el escenario tenemos un agente perro que tiene que controlar un grupo de
agentes que llamaremos ovejas. El perro tiene como objetivo conducir a las ovejas por el
ambiente evitando que estas caigan en estados peligrosos o que sean comidas por el lobo. El
juego termina cuando el perro ovejero tiene a todas sus ovejas dentro del corral. (3). Las
ovejas tienen un comportamiento simple estas permanecen casi todo el tiempo agrupadas,
esto si el perro, por un mal movimiento las dispersa. (4). Se usara un motor de inferencia para
crear todas las reglas del perro y las ovejas y el lobo.
Sistema de Ayuda para la Selección de Personal. Se busca agilizar el proceso de
selección del personal o Talento Humano de la empresa XYZ, es decir, mediante un
cuestionario con diversas preguntas extraídas del diálogo con el experto (el cual se debe
realizar), se busca automatizar el proceso de selección haciéndolo más rápido y eficaz. Se
deben tener en cuenta los perfiles requeridos por la empresa y las respuestas al cuestionario
del usuario, clasificándolo como aspirante a la vacante o no. El sistema se debe implementar
en línea.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
5
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
ORDEN
10
DESCRIPCIÓN
Sistema Experto en Orientación Vocacional y Profesional. Constantemente los jóvenes se
enfrentan al problema de elección carrera, para ello existen profesionales que los guían en su
decisión. Cuando uno de esos expertos deja de trabajar en el tema por diversas
circunstancias el conocimiento se pierde, es ahí donde entra la inteligencia artificial,
específicamente los sistemas con bases de conocimiento. Se requiere la creación de un
sistema experto en orientación vocacional y profesional que permita a los orientadores
educativos tener una base de conocimiento en la cual se pueda apoyar para su labor de guía.
La solución debe incluir dos áreas del conocimiento principalmente, por un lado, la ingeniería
en sistemas y por el otro la Medicina.
INDICACIONES PARA LA PRESENTACIÓN DEL INFORME
Formato:
 Página: carta
 Márgenes: superior, inferior, izquierdo y derecho: 2cm
 Interlineado: sencillo
 Texto: Times New Roman a 11 puntos
 Formato de entrega: PDF - ZIP
 Nombre del archivo: EVALUACIONFINAL_GRUPO
Contenido - Presentación:
 Portada, Introducción, Objetivos
 Justificación
 Definición del problema
 Desarrollo de actividades
 Conclusiones
 Bibliografía (Normas APA)
 Adjuntar el código en extensión .pl (Prolog)
 Adjuntar Manual de Usuario
ENVÍO DE LA ACTIVIDAD
Desde la opción FORO Proyecto Final en el curso virtual, subir los archivos solicitados (tamaño máximo 2
MB). La actividad debe enviarse antes de la fecha establecida en el cronograma o agenda de actividades.
No olviden los componentes básicos de un trabajo y tener presentes las Normas Icontec para la
elaboración y presentación de trabajo escrito.
Evite copiar y pegar, es preferible hacer una síntesis de lo consultado y analizar lo que se encuentra...
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
6
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
ANEXOS
COMPONENTES TÍPICOS DE UN SISTEMA EXPERTO
El Componente Humano.- Un sistema experto es generalmente el resultado de la colaboración de uno o
varios expertos humanos especialistas en el tema de estudio y los ingenieros en conocimiento.
La Base del conocimiento.- Los especialistas son responsables de suministrar a los ingenieros en
conocimientos una base de conocimiento ordenada y estructurada, y un conjunto de relaciones bien
definidas y explicadas.
Subsistencia de Adquisición de Conocimiento.- Controla el flujo del nuevo conocimiento que influye del
experto humano a la base del conocimiento.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
7
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
Control de la Coherencia.- Este subsistema controla la consistencia de la base de datos y evita que
unidades de conocimiento inconsistentes entren en la misma.
Motor de inferencia.- Es el corazón de todo sistema experto. El cometido de este componente es sacar
conclusiones aplicando el conocimiento a los datos. Las conclusiones del motor de inferencia pueden estar
basadas en conocimiento determinístico o conocimientos probabilísticos.
El Subsistema de Adquisición de Conocimiento.- Si el conocimiento es limitado y no se puede sacar
conclusiones, el motor de inferencia utiliza el subsistema de Adquisición de Conocimiento para obtener el
conocimiento necesario y continuar con el proceso de inferencia hasta que se haya sacado las
conclusiones.
Interfaz de usuario.- Es el enlace entre el sistema experto y el usuario y debe ser de forma fácil y
agradable en su uso.
Subsistema de Ejecución de Órdenes.- Es el componente que le permite al sistema experto ejecutar
acciones. Estas acciones se basan en las conclusiones sacadas por el motor de inferencia.
Subsistema de Explicación.- El usuario puede pedir una explicación de las conclusiones sacadas o de las
acciones iniciadas por el sistema experto.
Subsistema de Aprendizaje.- Una de las principales características es su capacidad de aprender.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
8
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA – ECBTI
Curso: 299017 – SISTEMAS EXPERTOS
Guía de Actividades
Evaluación Nacional por Proyecto
FASES DE DESARROLLO DE UN SISTEMA EXPERTO
1. Planteamiento del Problema.- El Objetivo principal de un sistema experto es responder a
preguntas y resolver problema, esta es la etapa más importante en el desarrollo de un sistema
experto.
2. Encontrar expertos humanos que puedan resolver el problema. En ciertos casos, no obstante,
las bases de datos pueden jugar un papel del experto humano.
3. Diseño de un Sistema experto.-incluye el diseño de estructuras para almacenar el conocimiento, el
motor de inferencia, el subsistema de explicación, al interface de usuario, etc.
4. Elección de la Herramienta de desarrollo.- Debe decidirse si realizar un sistema experto a medida,
o utilizar una concha, una herramienta, o un lenguaje de programación.
5. Desarrollo y prueba de un prototipo.- Deben ser repetitivas hasta que se obtengan un prototipo
satisfactorio.
6. Refinamiento y generalización.- En esta etapa se corrigen los fallos y se incluyen nuevas
posibilidades no incorporadas en el diseño inicial.
7. Mantenimiento y puesta al día.- En esta etapa el usuario plante problemas o defectos del
prototipo, corrige errores, actualiza el producto con nuevos avances, etc.
Jhon Jairo Pérez Burbano – Cead Pitalito Zona Sur
299017 – SISTEMAS EXPERTOS
9
Descargar