El documento describe el desarrollo de un sistema experto para diagnosticar enfermedades respiratorias usando Prolog. Primero se introducen los sistemas expertos y Prolog, luego se explica el diseño del sistema experto para diagnosticar enfermedades respiratorias mediante reglas lógicas y la interacción con un usuario, dividiéndolo en un shell y una base de conocimientos.
Vamos a implementar un sistema experto cuyo propósito será pronosticar y dar tratamiento natural a un paciente sobre su enfermedad. Para ello primero haremos una breve descripción de los sistemas expertos y de su importancia y después pasaremos a desarrollar el problema, un sistema experto ampliamente utilizado.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)jclavotafur
Vamos a implementar un sistema experto, en este caso será un juego de 3 en raya que tendrá para jugar contra la PC, todo esto se hará bajo plataforma Linux más preciso en su distribución Ubuntu 14.02. Primero haremos una breve descripción de los sistemas expertos y luego veremos su desarrollo.
Este documento describe diferentes herramientas de inteligencia artificial que pueden usarse para la supervisión y diagnóstico de procesos industriales, incluyendo sistemas expertos, redes neuronales y razonamiento basado en casos. Explica la estructura básica de los sistemas expertos y sus ventajas y limitaciones. También describe cómo funcionan las redes neuronales artificiales y el ciclo del razonamiento basado en casos. El documento concluye que estas herramientas de IA pueden usarse tanto en la etapa de diagnóstico como en la
Los sistemas expertos emulan el comportamiento de un experto humano para proveer respuestas rápidas y de alta calidad. Tienen entradas de datos desde el exterior y salidas de datos hacia el exterior. Pueden realizar tareas como monitorización, diseño, planificación, control, simulación e instrucción mediante el razonamiento basado en reglas, casos o redes bayesianas. También son útiles para la recuperación de información al poder generar información no explícita.
Este documento describe los sistemas expertos, incluyendo su estructura básica, tipos, ventajas y desventajas. Un sistema experto es un programa informático que utiliza conocimientos de un experto humano para resolver problemas complejos de un dominio específico. Se compone de una base de conocimientos, base de hechos, motor de inferencia y módulos de justificación. Los sistemas expertos se utilizan comúnmente para la solución de problemas, diagnóstico, planificación, simulación, control e instrucción.
Este documento habla sobre los sistemas expertos. Define a los sistemas expertos como programas de computación que usan conocimiento y procedimientos de inferencia para resolver problemas, emulando la habilidad de tomar decisiones de un especialista humano. Los sistemas expertos incluyen una base de conocimiento y un mecanismo de inferencia. Algunos de los primeros y más importantes sistemas expertos desarrollados fueron DENDRAL, MACSYMA, HEARSAY y MYCIN entre 1965 y 1975.
Vamos a implementar un sistema experto cuyo propósito será pronosticar y dar tratamiento natural a un paciente sobre su enfermedad. Para ello primero haremos una breve descripción de los sistemas expertos y de su importancia y después pasaremos a desarrollar el problema, un sistema experto ampliamente utilizado.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Sistema Experto : Juego "3 en Raya" bajo plataforma Linux (Ubuntu)jclavotafur
Vamos a implementar un sistema experto, en este caso será un juego de 3 en raya que tendrá para jugar contra la PC, todo esto se hará bajo plataforma Linux más preciso en su distribución Ubuntu 14.02. Primero haremos una breve descripción de los sistemas expertos y luego veremos su desarrollo.
Este documento describe diferentes herramientas de inteligencia artificial que pueden usarse para la supervisión y diagnóstico de procesos industriales, incluyendo sistemas expertos, redes neuronales y razonamiento basado en casos. Explica la estructura básica de los sistemas expertos y sus ventajas y limitaciones. También describe cómo funcionan las redes neuronales artificiales y el ciclo del razonamiento basado en casos. El documento concluye que estas herramientas de IA pueden usarse tanto en la etapa de diagnóstico como en la
Los sistemas expertos emulan el comportamiento de un experto humano para proveer respuestas rápidas y de alta calidad. Tienen entradas de datos desde el exterior y salidas de datos hacia el exterior. Pueden realizar tareas como monitorización, diseño, planificación, control, simulación e instrucción mediante el razonamiento basado en reglas, casos o redes bayesianas. También son útiles para la recuperación de información al poder generar información no explícita.
Este documento describe los sistemas expertos, incluyendo su estructura básica, tipos, ventajas y desventajas. Un sistema experto es un programa informático que utiliza conocimientos de un experto humano para resolver problemas complejos de un dominio específico. Se compone de una base de conocimientos, base de hechos, motor de inferencia y módulos de justificación. Los sistemas expertos se utilizan comúnmente para la solución de problemas, diagnóstico, planificación, simulación, control e instrucción.
Este documento habla sobre los sistemas expertos. Define a los sistemas expertos como programas de computación que usan conocimiento y procedimientos de inferencia para resolver problemas, emulando la habilidad de tomar decisiones de un especialista humano. Los sistemas expertos incluyen una base de conocimiento y un mecanismo de inferencia. Algunos de los primeros y más importantes sistemas expertos desarrollados fueron DENDRAL, MACSYMA, HEARSAY y MYCIN entre 1965 y 1975.
Aspectos más importantes del trabajo de una analistamyle22
El analista de sistemas evalúa procesos de negocio para mejorarlos mediante el uso de sistemas de información. Sus roles incluyen consultor externo, experto de soporte interno y agente de cambio. Planea, organiza, controla y diseña sistemas usando métodos, herramientas y CASE.
El documento describe los objetivos del diseño de salidas de sistemas de información. Los seis objetivos principales son: 1) diseñar la salida para servir al propósito previsto, 2) ajustarla al usuario, 3) entregar la cantidad apropiada, 4) asegurar que esté disponible donde se necesite, 5) proveerla de forma oportuna, y 6) elegir el método correcto. También discute factores para considerar al seleccionar la tecnología de salida, y cómo evitar el sesgo en el diseño de salidas.
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
* Abstracción y resolución de problemas
* Introducción al ciclo de vida del software
Creado por Ing. Alvaro Enrique Ruano
Este documento describe varios métodos para la automatización y control de procesos industriales, incluyendo la lógica difusa, sistemas expertos, redes neuronales y razonamiento basado en casos. Explica cómo estos métodos pueden usarse para representar conocimiento impreciso, tomar decisiones, aprender patrones y reconfigurarse para apoyar al usuario.
Este documento habla sobre la auditoría en sistemas. Explica que una auditoría de sistemas evalúa la confiabilidad, oportunidad, seguridad y confidencialidad de la información procesada a través de los sistemas de información de una entidad. También describe los objetivos de una auditoría de sistemas y algunas características, normas de buenas prácticas y niveles de una auditoría.
Los sistemas expertos proporcionan la capacidad de analizar grandes cantidades de información para tomar decisiones sólidas, aunque tienen limitaciones como la necesidad de reprogramación y costos elevados. Consisten en una base de conocimientos que almacena la experiencia de expertos humanos, una base de hechos que contiene la información del problema actual, y un motor de inferencia que deduce nuevos hechos comparando la base de conocimientos y de hechos.
Tema 1 TeoríA De Sistemas. Sistemas InteligentesESCOM
1. Definiciones previas.
2. Sistemas de control.
a. Definición de sistemas de control.
b. Ventajas derivadas del uso de un sistema de control.
c. Sistemas de control en lazo abierto y en lazo cerrado.
d. Clasificación de las técnicas de control.
3. Sistemas inteligentes de control.
4. Sistemas difusos.
a. ¿Por qué sistemas difusos?
b. ¿Qué son sistemas difusos?
c. Principales campos de investigación.
5. Identificación de sistemas mediante Lógica
Difusa.
6. Ejemplos de sistemas difusos de control
comerciales.
El documento describe los pasos para diseñar un sistema, incluyendo descomponer el sistema en diferentes niveles, diseñar una base de datos optimizada, diseñar formularios y salidas, y elaborar soluciones para procesos manuales. También habla sobre los roles de un analista de sistemas como consultor externo, experto de soporte interno, y agente de cambio.
Este documento describe los pasos para realizar una auditoría de sistemas de información. Primero, se identifican los riesgos y contingencias del sistema. Luego, se realiza una investigación preliminar evaluando el diseño, desarrollo y programación del sistema, así como entrevistando a los usuarios. Finalmente, se ejecuta la auditoría mediante pruebas y se prepara un informe con los hallazgos y recomendaciones.
Ciclo de vida de desarrollo de sistemas tarea correoGerard DV
The document describes the Systems Development Life Cycle (SDLC), which consists of 7 steps that analysts and designers use to create software programs for businesses. The 7 steps are: 1) identifying problems, opportunities, and objectives, 2) determining information requirements, 3) analyzing system needs, 4) designing the recommended system, 5) developing and documenting software, 6) testing and maintaining the system, and 7) implementing and evaluating the system.
Este documento presenta diferentes métodos para el diagnóstico y toma de decisiones en procesos industriales automatizados, incluyendo lógica difusa, sistemas expertos, redes neuronales y razonamiento basado en casos. Estos métodos permiten analizar datos, detectar fallas, diagnosticar problemas, y proponer acciones correctivas utilizando toda la información disponible para supervisar los procesos de automatización de manera automatizada.
Vamos a implementar un sistema experto cuyo propósito será ayudarnos en la elección de un mueble a la hora de su compra, primero haremos una breve descripción de los sistemas expertos y luego veremos su desarrollo.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Este documento describe el desarrollo de un sistema experto en Prolog para recomendar licuados nutritivos y medicinales según los síntomas de un cliente. Primero se explican los sistemas expertos y Prolog, luego se detalla el diseño de un árbol de decisiones binario para diagnosticar problemas basado en preguntas sobre síntomas. Finalmente, se implementa el sistema experto con reglas en Prolog que vinculan síntomas específicos con recomendaciones de licuados.
Este documento describe diferentes herramientas de soporte para la supervisión industrial, incluyendo sistemas expertos, redes neuronales y razonamiento basado en casos. Explica la estructura básica, ventajas y limitaciones de los sistemas expertos, y describe las aplicaciones, ventajas y elementos básicos de las redes neuronales. También define el ciclo del razonamiento basado en casos. Finalmente, discute cómo estas herramientas pueden usarse para diagnosticar fallas y tomar decisiones en un sistema de supervisión y control automatizado.
Este documento describe el desarrollo de un sistema experto llamado JBDiagnostic que utilizará Java y MySQL para diagnosticar enfermedades y recomendar medicamentos. El sistema funcionará mediante la introducción de síntomas del paciente y utilizará una base de conocimientos en forma de red con nodos de entrada (síntomas) y salida (enfermedad y medicamentos). El objetivo es ayudar a los profesionales médicos a diagnosticar de manera más eficiente basándose en la experiencia almacenada.
El documento presenta una introducción a los sistemas expertos, definiéndolos como sistemas informáticos capaces de resolver problemas que requieren conocimiento especializado en un dominio específico, imitando el razonamiento de un experto humano. Explica que los sistemas expertos constan de una base de conocimientos con reglas e información de expertos, y un motor de inferencia que aplica la lógica a los hechos conocidos para deducir nuevos conocimientos. Finalmente, menciona algunos ejemplos históricos de sistemas
El documento trata sobre la medicina basada en la evidencia, la colaboración Cochrane y los sistemas expertos de medicina. La medicina basada en la evidencia utiliza la investigación más reciente para guiar las decisiones clínicas. La colaboración Cochrane revisa sistemáticamente los estudios médicos para proporcionar la mejor evidencia. Los sistemas expertos de medicina imitan el razonamiento de los expertos médicos para diagnosticar pacientes y recomendar tratamientos.
Un sistema experto es una aplicación informática capaz de resolver problemas que requieren un gran conocimiento sobre un tema específico, imitando el razonamiento de un experto humano. Está compuesto por una base de conocimientos, una base de hechos, un motor de inferencia y una interfaz de usuario. Algunas tareas que realizan los sistemas expertos incluyen monitorización, diseño, planificación, control, simulación e instrucción.
El documento define los sistemas expertos y describe sus componentes principales. Un sistema experto es una máquina que piensa y razona como un experto humano mediante el uso de una base de conocimiento y un motor de inferencia. Los componentes clave incluyen la base de conocimiento, el motor de inferencia, la interfaz de usuario y subsistemas para la adquisición de conocimiento, explicación y aprendizaje.
Este documento describe los sistemas expertos, incluyendo sus funciones principales como la monitorización, diseño, planificación, control, simulación e instrucción. Explica la historia y definiciones de los sistemas expertos, y cómo han evolucionado para combinar diferentes técnicas como agentes inteligentes. Los sistemas expertos imitan el razonamiento de expertos humanos para resolver problemas complejos en varios dominios.
Aspectos más importantes del trabajo de una analistamyle22
El analista de sistemas evalúa procesos de negocio para mejorarlos mediante el uso de sistemas de información. Sus roles incluyen consultor externo, experto de soporte interno y agente de cambio. Planea, organiza, controla y diseña sistemas usando métodos, herramientas y CASE.
El documento describe los objetivos del diseño de salidas de sistemas de información. Los seis objetivos principales son: 1) diseñar la salida para servir al propósito previsto, 2) ajustarla al usuario, 3) entregar la cantidad apropiada, 4) asegurar que esté disponible donde se necesite, 5) proveerla de forma oportuna, y 6) elegir el método correcto. También discute factores para considerar al seleccionar la tecnología de salida, y cómo evitar el sesgo en el diseño de salidas.
Solución de problemas y ciclo de vida del desarrollo de softwareAlvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
* Abstracción y resolución de problemas
* Introducción al ciclo de vida del software
Creado por Ing. Alvaro Enrique Ruano
Este documento describe varios métodos para la automatización y control de procesos industriales, incluyendo la lógica difusa, sistemas expertos, redes neuronales y razonamiento basado en casos. Explica cómo estos métodos pueden usarse para representar conocimiento impreciso, tomar decisiones, aprender patrones y reconfigurarse para apoyar al usuario.
Este documento habla sobre la auditoría en sistemas. Explica que una auditoría de sistemas evalúa la confiabilidad, oportunidad, seguridad y confidencialidad de la información procesada a través de los sistemas de información de una entidad. También describe los objetivos de una auditoría de sistemas y algunas características, normas de buenas prácticas y niveles de una auditoría.
Los sistemas expertos proporcionan la capacidad de analizar grandes cantidades de información para tomar decisiones sólidas, aunque tienen limitaciones como la necesidad de reprogramación y costos elevados. Consisten en una base de conocimientos que almacena la experiencia de expertos humanos, una base de hechos que contiene la información del problema actual, y un motor de inferencia que deduce nuevos hechos comparando la base de conocimientos y de hechos.
Tema 1 TeoríA De Sistemas. Sistemas InteligentesESCOM
1. Definiciones previas.
2. Sistemas de control.
a. Definición de sistemas de control.
b. Ventajas derivadas del uso de un sistema de control.
c. Sistemas de control en lazo abierto y en lazo cerrado.
d. Clasificación de las técnicas de control.
3. Sistemas inteligentes de control.
4. Sistemas difusos.
a. ¿Por qué sistemas difusos?
b. ¿Qué son sistemas difusos?
c. Principales campos de investigación.
5. Identificación de sistemas mediante Lógica
Difusa.
6. Ejemplos de sistemas difusos de control
comerciales.
El documento describe los pasos para diseñar un sistema, incluyendo descomponer el sistema en diferentes niveles, diseñar una base de datos optimizada, diseñar formularios y salidas, y elaborar soluciones para procesos manuales. También habla sobre los roles de un analista de sistemas como consultor externo, experto de soporte interno, y agente de cambio.
Este documento describe los pasos para realizar una auditoría de sistemas de información. Primero, se identifican los riesgos y contingencias del sistema. Luego, se realiza una investigación preliminar evaluando el diseño, desarrollo y programación del sistema, así como entrevistando a los usuarios. Finalmente, se ejecuta la auditoría mediante pruebas y se prepara un informe con los hallazgos y recomendaciones.
Ciclo de vida de desarrollo de sistemas tarea correoGerard DV
The document describes the Systems Development Life Cycle (SDLC), which consists of 7 steps that analysts and designers use to create software programs for businesses. The 7 steps are: 1) identifying problems, opportunities, and objectives, 2) determining information requirements, 3) analyzing system needs, 4) designing the recommended system, 5) developing and documenting software, 6) testing and maintaining the system, and 7) implementing and evaluating the system.
Este documento presenta diferentes métodos para el diagnóstico y toma de decisiones en procesos industriales automatizados, incluyendo lógica difusa, sistemas expertos, redes neuronales y razonamiento basado en casos. Estos métodos permiten analizar datos, detectar fallas, diagnosticar problemas, y proponer acciones correctivas utilizando toda la información disponible para supervisar los procesos de automatización de manera automatizada.
Vamos a implementar un sistema experto cuyo propósito será ayudarnos en la elección de un mueble a la hora de su compra, primero haremos una breve descripción de los sistemas expertos y luego veremos su desarrollo.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Este documento describe el desarrollo de un sistema experto para diagnosticar fallas en computadoras usando Prolog. Explica brevemente los sistemas expertos y su importancia, y luego detalla el modelado del problema, el diseño de reglas y la implementación del sistema experto para diagnosticar fallas en computadoras basado en síntomas provistos por el usuario.
Este documento describe el desarrollo de un sistema experto en Prolog para recomendar licuados nutritivos y medicinales según los síntomas de un cliente. Primero se explican los sistemas expertos y Prolog, luego se detalla el diseño de un árbol de decisiones binario para diagnosticar problemas basado en preguntas sobre síntomas. Finalmente, se implementa el sistema experto con reglas en Prolog que vinculan síntomas específicos con recomendaciones de licuados.
Este documento describe diferentes herramientas de soporte para la supervisión industrial, incluyendo sistemas expertos, redes neuronales y razonamiento basado en casos. Explica la estructura básica, ventajas y limitaciones de los sistemas expertos, y describe las aplicaciones, ventajas y elementos básicos de las redes neuronales. También define el ciclo del razonamiento basado en casos. Finalmente, discute cómo estas herramientas pueden usarse para diagnosticar fallas y tomar decisiones en un sistema de supervisión y control automatizado.
Este documento describe el desarrollo de un sistema experto llamado JBDiagnostic que utilizará Java y MySQL para diagnosticar enfermedades y recomendar medicamentos. El sistema funcionará mediante la introducción de síntomas del paciente y utilizará una base de conocimientos en forma de red con nodos de entrada (síntomas) y salida (enfermedad y medicamentos). El objetivo es ayudar a los profesionales médicos a diagnosticar de manera más eficiente basándose en la experiencia almacenada.
El documento presenta una introducción a los sistemas expertos, definiéndolos como sistemas informáticos capaces de resolver problemas que requieren conocimiento especializado en un dominio específico, imitando el razonamiento de un experto humano. Explica que los sistemas expertos constan de una base de conocimientos con reglas e información de expertos, y un motor de inferencia que aplica la lógica a los hechos conocidos para deducir nuevos conocimientos. Finalmente, menciona algunos ejemplos históricos de sistemas
El documento trata sobre la medicina basada en la evidencia, la colaboración Cochrane y los sistemas expertos de medicina. La medicina basada en la evidencia utiliza la investigación más reciente para guiar las decisiones clínicas. La colaboración Cochrane revisa sistemáticamente los estudios médicos para proporcionar la mejor evidencia. Los sistemas expertos de medicina imitan el razonamiento de los expertos médicos para diagnosticar pacientes y recomendar tratamientos.
Un sistema experto es una aplicación informática capaz de resolver problemas que requieren un gran conocimiento sobre un tema específico, imitando el razonamiento de un experto humano. Está compuesto por una base de conocimientos, una base de hechos, un motor de inferencia y una interfaz de usuario. Algunas tareas que realizan los sistemas expertos incluyen monitorización, diseño, planificación, control, simulación e instrucción.
El documento define los sistemas expertos y describe sus componentes principales. Un sistema experto es una máquina que piensa y razona como un experto humano mediante el uso de una base de conocimiento y un motor de inferencia. Los componentes clave incluyen la base de conocimiento, el motor de inferencia, la interfaz de usuario y subsistemas para la adquisición de conocimiento, explicación y aprendizaje.
Este documento describe los sistemas expertos, incluyendo sus funciones principales como la monitorización, diseño, planificación, control, simulación e instrucción. Explica la historia y definiciones de los sistemas expertos, y cómo han evolucionado para combinar diferentes técnicas como agentes inteligentes. Los sistemas expertos imitan el razonamiento de expertos humanos para resolver problemas complejos en varios dominios.
Este documento introduce los sistemas de control expertos, describiendo la inteligencia artificial y humana, los campos de estudio de la inteligencia artificial como las redes neuronales y la lógica difusa, y los componentes y tipos de sistemas expertos. También compara sistemas clásicos y expertos, y discute aplicaciones de sistemas expertos para el control de procesos industriales.
El documento trata sobre varios temas relacionados con la medicina basada en evidencia. Explica brevemente la medicina basada en evidencia, The Cochrane Collaboration y los sistemas expertos de medicina. The Cochrane Collaboration se dedica a revisar sistemáticamente la evidencia de intervenciones médicas. Los sistemas expertos imitan el razonamiento de un experto para proveer diagnósticos y soluciones a problemas médicos.
Este documento describe los sistemas expertos, incluyendo su definición, ejemplos como MYCIN y XCON, y sus principales componentes como la base de conocimiento y el motor de inferencia. También explica las etapas clave en el desarrollo de un sistema experto, como identificar expertos humanos, diseñar la arquitectura del sistema, y construir y probar un prototipo.
Este documento describe diferentes ramas de la inteligencia artificial, incluyendo sistemas de visión, procesamiento de lenguaje natural, sistemas de aprendizaje, redes neuronales, lógica difusa, logaritmos genéticos, agentes inteligentes, sistemas expertos y robótica. Luego se enfoca en los sistemas expertos, definiéndolos, describiendo sus características, limitaciones, capacidades y componentes principales. Finalmente discute los tipos de sistemas expertos y por qué serían útiles.
Este documento describe los conceptos clave de los sistemas expertos, incluyendo su estructura básica, tipos, ventajas y desventajas. Explica que un sistema experto es un conjunto de programas que posee el conocimiento de uno o más expertos para resolver problemas en un área específica. Describe también algunas aplicaciones como monitoreo, diseño, planificación, control, simulación e instrucción.
Este documento describe un sistema experto desarrollado para la detección y control de plagas en cultivos de tara. El sistema experto, llamado SKADEDJUR 1.0, ayuda a los agricultores a diagnosticar plagas observando los síntomas y recomienda planes de tratamiento. El documento explica los componentes clave de los sistemas expertos y cómo éstos pueden ser útiles en la agricultura, identificando plagas y controlándolas.
Este documento presenta una introducción a los sistemas expertos. Explica que los sistemas expertos permiten que las máquinas razonen como lo haría un experto humano en un dominio de conocimiento específico. Luego describe brevemente la historia, componentes y aplicaciones de los sistemas expertos.
1. Sistema Experto: Detector de Enfermedades Respiratorias
William Castañeda Vilchez
Universidad Nacional de Trujillo
Sede Valle del Jequetepeque
Escuela de Informática
Profesor : Arturo Díaz Pulido
RESUMEN
Vamos a implementar un sistema
expertocuyopropósitoserá ayudarnos en el
diagnóstico de los diferentes tipos de
enfermedades respiratorias, primero
haremos una breve descripción de los
sistemas expertos y luego veremos su
desarrollo.
Palabras Claves
Prolog, sistema experto, enfermedades
respiratorias , etc.
1. INTRODUCCION
Los sistemas expertos se pueden considerar
como el primer producto verdaderamente
operacional de la inteligencia artificial.
Son programas de ordenador diseñados
para actuar como unespecialistahumanoen
un dominio particular o área de
conocimiento. En este sentido, pueden
considerarse como intermediarios entre el
experto humano, que transmite su
conocimientoal sistema,y del usuarioque lo
utiliza para resolver un problema con la
eficacia del especialista.
El sistema experto utilizará para ello el
conocimiento que tenga almacenado y
algunos métodos de inferencia. Para que
un sistema experto sea herramienta
efectiva, los usuarios deben interactuar de
una forma fácil, reuniendo dos capacidades
para poder cumplirlo
Explicar sus razonamientos o base del
conocimiento:
los sistemas expertos se deben realizar
siguiendo ciertas reglas o pasos
comprensibles de manera que se pueda
generarla explicaciónparacada unade estas
reglas, que a la vez se basan en hechos.
Adquisición de nuevos conocimientos o
integrador del sistema:
son mecanismos de razonamiento que
sirven para modificar los conocimientos
anteriores. Sobre labase de lo anterior se
puede decir que los sistemas expertos son
el producto de investigaciones en el campo
de la inteligencia artificial ya que ésta no
intenta sustituir a los expertos humanos,
sino que se desea ayudarlos a realizar con
más rapidez y eficacia todas las tareas que
realiza.
1.1. Usos de un Sistema Experto
a) Un sistema experto es muy eficaz
cuando tiene que analizar una gran
cantidad de información,
interpretándola y proporcionando
una recomendación a partir de la
misma. Un ejemplo es el análisis
2. financiero, donde se estudian las
oportunidades de inversión,
dependiendo de los datos
financieros de un cliente y de sus
propósitos.
b) Para detectar y reparar fallos en
equipos electrónicos, se utilizan los
sistemas expertos de diagnóstico y
depuración, que formulan listas de
preguntas con las que obtienen
los datos necesarios para llegar a
una conclusión. Entonces
recomiendanlas accionesadecuadas
para corregir los problemas
descubiertos. Este tipo de sistemas
se utilizan también en medicina
(ej. MYCIN y PUFF), y para
localizar problemas en sistemas
informáticos grandes y complejos.
c) Los sistemas expertos son buenos
para predecir resultados futuros a
partir del conocimiento que
tienen. Los sistemasmeteorológicos
y de inversión en bolsa son
ejemplos de utilización en este
sentido. El sistema PROSPECTOR es
de este tipo.
1.2. Arquitectura y funcionamiento
de un sistema experto.
La mayoría de los sistemas
expertos tienen unos componentesbásicos:
base de conocimientos,motorde inferencia,
base de datos e interfaz con el usuario.
Muchos tienen, además, un módulo de
explicación y un módulo de adquisición
del conocimiento.
1.2.1. Base de conocimiento
La base de conocimientos contiene
el conocimiento especializado extraído del
experto en el dominio. El método más
común para representar el conocimiento
es mediante reglas de producción. El
dominio de conocimiento representándose
divide, pues, en pequeñas fracciones de
conocimiento o reglas. Una característica
muy importante es que la base de
conocimientos es independiente del
mecanismo de inferencia que se utiliza
para resolver los problemas. De esta forma,
cuando los conocimientos almacenados se
han quedado obsoletos, o cuando se
dispone de nuevos conocimientos, es
relativamente fácil añadir reglas nuevas,
eliminarlasantiguas o corregir errores enlas
existentes.
1.2.2. Base de datos
La base de datos o base
de hechos es una parte de la memoria
del ordenador que se utiliza para
almacenar los datos recibidos inicialmente
para la resolución de un problema,
contiene conocimiento sobre el caso
concreto en que se trabaja. También se
registrarán en ella las conclusiones
intermedias y los datos generados en el
proceso de inferencia.
1.2.3. Motor de inferencia
El motor de inferencias es un
programa que controla el proceso de
razonamiento que seguirá el sistema
experto. Utilizando los datos que se le
suministran, recorre la base de
conocimientosparaalcanzarunasolución. La
estrategia de control puede ser de
encadenamiento progresivo o de
encadenamiento regresivo. En el primer
3. caso se comienza con los hechos
disponibles en la base de datos, y se buscan
reglas que satisfagan esos datos.
Normalmente,el sistemasigue lossiguientes
pasos:
1. Evaluar lascondiciones de todas las reglas
respectoa labase de datos, identificando el
conjunto de reglas que se pueden aplicar
2. Si no se puede aplicar ninguna regla, se
terminasinéxito;encaso contrario se elige
cualquiera de las reglas aplicables y se
ejecuta su parte acción (esto último genera
nuevos hechos que se añaden a la base de
datos)
3. Si se llega al objetivo, se ha resuelto
el problema; en caso contrario,se vuelve al
paso 1
1.2.4. Interfaz con el usuario.
El interfaz de usuario permite que
el usuario pueda describir el problema al
sistema experto. Interpreta sus preguntas,
los comandos y la información ofrecida. A la
inversa, formula la información generada
por el sistema incluyendo respuestas a las
preguntas, explicaciones y justificaciones.
1.2.5. Módulo de Explicación
La mayoría de los sistemas
expertos contienen un módulo de
explicación, diseñado para aclarar al
usuario la línea de razonamiento seguida en
el proceso de inferencia. Si el usuario
pregunta al sistema cómo ha alcanzado
una conclusión, éste le presentará la
secuencia completa de reglas usada
1.2.6. Módulo de adquisición
El módulo de adquisición del
conocimientopermite que se puedanañadir,
eliminar o modificar elementos de
conocimiento (en la mayoría de los casos
reglas) en el sistema experto.
1.3. Ventajas e inconvenientes de un
Sistema Experto.
1.3.1. Ventajas
a) Un sistema experto mejora la
productividadal resolverydecidirlos
problemas más rápidamente. Esto
permite ahorrar tiempo y dinero. A
veces sin esa rapidez lassoluciones
obtenidas serían inútiles.
b) Los valiosos conocimientos de un
especialista se guardan y se
difunden, de forma que, no se
pierden aunque desaparezca el
especialista
c) Con un sistema experto se
obtienen soluciones más fiables
gracias al tratamientoautomático de
los datos, y más contrastadas,
debido a que se suele tener
informatizado el conocimiento de
varios expertos.
1.3.2. Desventajas
a) El conocimiento humano es
complejo de extraer y, a veces, es
problemático representarlo. Si un
problemasobrepasa la competencia
de un sistema experto, sus
prestaciones se degradan de forma
4. notable. Además, las estrategias de
razonamiento de los motores de
inferencia suelen estar
programadas procedimentalmente
y se adaptan mal a las
circunstancias. Están limitados para
tratar problemas con información
incompleta.
b) Un experto humano no estudia
progresivamente unahipótesis, sino
que decide de inmediato cuando
se enfrenta a una situación
análoga a otra ocurrida en el
pasado. Los sistemas expertos no
utilizan este razonamiento por
analogía.
c) Los costes y duración del
desarrollo de un sistema experto
son bastante considerables
(aunque se suelen amortizar
rápidamente) y su campo de
aplicación actual es restringido y
específico.
1.4. Prolog
1.4.1. Introducción a Prolog
La programación lógica es un
paradigmade loslenguajesde programación
enel cual los programas se consideran como
una serie de aserciones lógicas. De esta
forma, el conocimiento se representa
mediante reglas, tratándose de sistemas
declarativos.
1.4.2. Características de Prolog
a) Basado en lógica y programación
declarativa.
b) No se especificacómodebe hacerse,
sino qué debe lograrse.
c) Una característica importante en
ProLog y que lo diferencia de otros
lenguajes de programación, es que
una variable sólo puede tener un
valormientrasse cumple el objetivo.
d) El programador se concentra más en
el conocimiento que en los
algoritmos.
-¿Qué es conocido? (hechos, reglas)
-¿Qué preguntar? (Cómo resolverlo)
2. DIAGNOSTICO DE ENFERMEDADES
RESPIRATORIAS CON PROLOG
2.1. Planteamiento y Diseño
Queremos realizar un sistema
experto que nos ayude a diagnosticar
diferente tipos de enfermedades
respiratorias y que nos dé una justificación
del diagnóstico mostrándonos los síntomas,
así como también en cualquier parte del
sistema podemos preguntar que hipótesis
esta siguiendo.
Para realizar este diseño hemos
partido en dividir al sistema experto en 2
partes:
Un “shell” del sistema experto, que
se encarga de interactuar con el
usuario y manipular la Base de
Conocimientos del sistema.
Una base de conocimientos, con
reglas del tipo: (situación1,
[condicion1, condicion2, ...,
condicionN]). Este sistema experto
como se dijo anteriormente puede
justificar su diagnóstico y explicar
por qué hace ciertas preguntas.
5. A continuaciónle mostramos una imagen de
como dividimos al sistema en 2
Figura 1
2.2. Implementación
Nuestrocódigofue implementado en prolog
y dividimos nuestro código en2 grandes
bloques.
2.2.1. Shell
Un “shell” del sistema experto, que
se encarga de interactuar con el usuario y
manipular la Base de Conocimientos del
sistema.
:- dynamic conocido/1.
consulta:-
haz_diagnostico(X),
escribe_diagnostico(X),
ofrece_explicacion_diagnostico(X),
clean_scratchpad.
consulta:-
write('No hay suficiente
conocimiento para elaborar un
diagnostico.'),
clean_scratchpad.
haz_diagnostico(Diagnosis):-
obten_hipotesis_y_sintomas(Diagnos
is, ListaDeSintomas),
prueba_presencia_de(Diagnosis,
ListaDeSintomas).
obten_hipotesis_y_sintomas(Diagnosis,
ListaDeSintomas):-
conocimiento(Diagnosis,ListaDeSinto
mas).
prueba_presencia_de(Diagnosis, []).
prueba_presencia_de(Diagnosis, [Head |
Tail]):-
prueba_verdad_de(Diagnosis,Head),
prueba_presencia_de(Diagnosis,
Tail).
prueba_verdad_de(Diagnosis, Sintoma):-
conocido(Sintoma).
prueba_verdad_de(Diagnosis, Sintoma):-
not(conocido(is_false(Sintoma))),
pregunta_sobre(Diagnosis,Sintoma,R
eply),Reply=si.
pregunta_sobre(Diagnosis,Sintoma,Reply):-
write('Es verdad que '),
write(Sintoma),write('? '),
read(Respuesta),
process(Diagnosis,Sintoma, Respuesta,Reply
).
process(Diagnosis,Sintoma,si,si):-
asserta(conocido(Sintoma)).
process(Diagnosis,Sintoma,no,no):-
asserta(conocido(is_false(Sintoma))).
process(Diagnosis,Sintoma,porque,Reply):-
nl,
write('Estoyinvestigandolahipotesis
siguiente: '),
write(Diagnosis), write( '.'),
nl,write('Para esto necesito saber si'),
write(Sintoma),write('.'), nl,
pregunta_sobre(Diagnosis, Sintoma, Reply ).
SISTEMA
EXPERTO
SHELL BASE DE
CONOCIMIENTO
6. process(Diagnosis,Sintoma,Respuesta,Reply):
-
Respuesta == no,
Respuesta == si,
Respuesta == porque,
nl,
write('Debes contestar si, no o
porque.'), nl,
pregunta_sobre(Diagnosis,Sintoma,
Reply) .
escribe_diagnostico(Diagnosis):-
write('El diagnostico es '),
write(Diagnosis), write( '.'), nl.
ofrece_explicacion_diagnostico(Diagnosis):-
pregunta_si_necesita_explicacion(Re
spuesta),
actua_consecuentemente(Diagnosis,
Respuesta).
pregunta_si_necesita_explicacion(Respuesta
):-
write('Quieres que justifique este
diagnostico? '),
read(RespuestaUsuario),
asegura_respuesta_si_o_no(Respues
taUsuario,Respuesta).
asegura_respuesta_si_o_no(si,si).
asegura_respuesta_si_o_no(no,no).
asegura_respuesta_si_o_no(_,Respuesta):-
write('Debes conte star si o no.'),
pregunta_si_necesita_explicacion(Re
spuesta).
actua_consecuentemente(Diagnosis,no).
actua_consecuentemente(Diagnosis,si):-
conocimiento(Diagnosis,ListaDeSinto
mas),
write('Se determinoeste diagnostico
porque se encontraron los siguentes
sintomas: '),
nl,
escribe_lista_de_sintomas(ListaDeSin
tomas).
escribe_lista_de_sintomas([]).
escribe_lista_de_sintomas([Head|Tail] ):-
write(Head),
nl,
escribe_lista_de_sintomas(Tail).
clean_scratchpad:-
retract(conocido(X)), fail.
clean_scratchpad.
conocido(_):-fail.
not(X):-
X,
!,
fail.
not(_ ).
2.2.2. Base de conocimiento
La base conocimiento es la que
contiene todaslasreglas y datos que
se usaran, usando la forma de
situación[condicion1,condición2,…]
conocimiento('influenza',
['el paciente tiene escurrimiento
nasal ',
'el paciente tiene dolor de
articulaciones',
'el paciente tiene dolor
muscular',
'el paciente tiene decaimiento',
'el paciente tiene dolor de
estomago',
'el paciente tiene diarrea']).
conocimiento('amigdalitis',
['el paciente tiene inflamacion en
las amigdalas',
'el paciente tiene manchas
7. blancas o amarillas en las amigdalas',
'el paciente tiene inflamacionenlos
glangios',
'el paciente tiene dolor de
garganta',
'el paciente tiene dificultad al
tragar']).
conocimiento('tos',
['el paciente tiene dolor de
cabeza ',
'el paciente tiene dolor en los
ojos',
'el paciente tiene dolor en el
cuerpo',
'el paciente tiene dolor de oido',
'el paciente tiene fiebre',
'el paciente tiene escalofrios']).
conocimiento('rinofaringitis',
['el paciente tiene dolor de
garganta ',
'el paciente tiene goteo nasal',
'el paciente tiene congestion
nasal',
'el paciente tiene estornudo',
'el paciente tiene talvez el ojo
rojo']).
conocimiento('asma',
['el paciente tiene dificultad al
respirar',
'el paciente tiene espasmos
bronquiales',
'el paciente tiene secreciones
mucosas',
'el paciente tiene respiracion
sibilante',
'el paciente tiene rigidez
toracica']).
conocimiento('pulmonia',
['el paciente tiene tos aguda',
'el paciente tiene tos con
mucosidad',
'el paciente tiene fiebre y
escalofrios',
'el paciente tiene debilidad',
'el paciente tiene fatiga',
'el paciente tiene dolor de
pecho']).
conocimiento('tuberculosis',
['el paciente tiene cansancio
intenso',
'el paciente tiene malestar
general',
'el paciente tiene sudoracion
abundante',
'el paciente tiene perdida de peso',
'el paciente tiene sangre en los
esputos',
'el paciente tiene tos seca']).
3. EJECUCION
Para poderutilizarel sistemaexperto
con estabase de conocimientos,dentrode
Prologdebemosteclear:
consult('shell.pl').
consult('BaseConocimientos1.pl').
Para poder determinar una enfermedad, se
teclea consulta.<enter> y se contestan las
preguntas que va haciendo el sistema. En
cualquier momento se puede contestar con
un porque en lugar de sí o no. Entonces el
sistema explicará cuál es el diagnóstico que
trata de probar. Al proporcionar un
diagnóstico, el sistema preguntará si se
quiere una justificación para su diagnóstico.
Si se contesta afirmativamente el sistema
mostrará los hechos que lo llevaron al
diagnóstico presentado.
En este ejemplo vemos que he dado si a los
siguientes síntomas