3.6.3 Mecanismo de Control

Introducción

¿Qué ocurre cuando varias reglas se pueden aplicar a la vez?

Cuando múltiples reglas pueden dispararse, ya sea porque tienen similitudes, o que los hechos encajan a la perfección en las reglas, esto se vuelve un conflicto y el sistema necesita una estrategia para determinar qué regla ejecutar primero el sistema necesita una estrategia para determinar qué regla ejecutar primero. A estas estrategias se les denomina métodos de control. Se emplean para determinar cuál de las reglas debe ejecutarse cuando varias son elegibles para dispararse. Ayudan a dirigir el flujo de ejecución del sistema de manera eficiente.

Ejemplos:

Hecho inicial

SI fiebre ENTONCES recomendar antipirético.

Regla 1:

SI fiebre Y tos ENTONCES sospechar de gripe.

En este ejemplo si el paciente tiene fiebre y tos las dos reglas podrían dispararse, por lo que es necesario priorizar las reglas para dirigir el proceso de inferencia. De lo contrario, el sistema podría generar conclusiones incorrectas o innecesarias en ciertos contextos.

Mecanismos de Control Usados

1. Orden de Especificidad:

Este método favorece las reglas más específicas, es decir, aquellas que contienen más condiciones en su parte izquierda (condición). El principio básico que emplea este método es: que cuantas más condiciones tenga una regla, mayor es su especificidad.

Ejemplo:

Regla 1:

				
					SI fiebre ENTONCES dar antipirético.
				
			

Regla 2:

				
					SI fiebre Y tos ENTONCES sospechar de gripe.
				
			

Regla disparada:

Regla 2, ya que es más específica al tener dos condiciones en lugar de una.

2. Recencia:

Este método de control da preferencia a las reglas cuyas condiciones se basan en hechos más recientes. Es útil en sistemas donde el tiempo o el orden en que ocurren los hechos es crucial. El principio básico que emplea este método es que las reglas que utilizan hechos recientemente añadidos a la base de hechos se disparan primero.

Este método tiene una ventaja que permite que el sistema responda de manera rápida a cambios recientes en el estado del sistema.

Ejemplo:

Regla 1:

				
					SI fiebre ENTONCES dar antipirético.
				
			

Regla 2:

				
					SI fiebre Y tos ENTONCES sospechar de gripe.
				
			

Si el hecho “tos” fue añadido más recientemente a la base de hechos que “fiebre”, la Regla 2 se dispararía primero.

Este método tiene una ventaja que permite que el sistema responda de manera rápida a cambios recientes en el estado del sistema.

3. Prioridad Fija:

En este método, cada regla tiene asignada una prioridad predefinida y las reglas con mayor prioridad se ejecutan primero, independientemente de cuántas condiciones se cumplan o de cuándo fueron añadidos los hechos. El principio básico que emplea este método es que las reglas con prioridad más alta se disparan antes.

Ejemplo:

Regla 1:

				
					SI fiebre ENTONCES dar antipirético. (Prioridad: 5)
				
			

Regla 2:

				
					SI fiebre Y tos ENTONCES sospechar de gripe. (Prioridad: 10)
				
			

Regla disparada:

Regla 2, ya que tiene una mayor prioridad.

Este método es útil en sistemas donde algunas reglas son intrínsecamente más importantes que otras.

4. Estrategias Combinadas:

Muchos sistemas combinan varios métodos de control para optimizar su comportamiento. Por ejemplo, un sistema puede usar especificidad en combinación con recencia o prioridad fija para tomar decisiones más refinadas.

Ejemplo:

La ventaja de este método es que las estrategias combinadas permiten un control más flexible y adaptado a diferentes situaciones del sistema.

Con todo la información anterior es hora de un poco de actividad para reforzar los conocimientos teóricos, empezaremos por una actividad de aprendizaje y luego una práctica con un lenguaje de programación.

Actividad de aprendizaje 9

Diseño de un sistema de producción simple (grupos de 3)

Objetivo:

Instrucciones:

1. Formación de Grupos:

2. Definición del Problema:

3. Diseño del Sistema Experto Básico:

Ejemplo de reglas:

				
					SI el cliente quiere algo dulce y rápido.
ENTONCES recomendar una barra de chocolate.
				
			
				
					SI el cliente tiene alergia a los frutos secos.
ENTONCES no recomendar productos que contengan nueces.
				
			

4. Aplicar las Reglas:

5. Presentación:

Entregables:

Se calificará base a la Rúbrica de Evaluación en el apartado de Recursos.

A través de actividades como la creación de un sistema experto, se puede ver cómo las reglas se aplican en situaciones del mundo real, desde diagnósticos médicos hasta recomendaciones comerciales.

Creación de un sistema de producción usando un lenguaje de programación (en grupos de 3)

Objetivo:

Saberes y habilidades por desarrollar:

Materiales:

Introducción:

Los sistemas expertos representan una de las aplicaciones más prácticas de la inteligencia artificial, especialmente en el ámbito médico, donde la capacidad de tomar decisiones basadas en conocimiento experto es crucial para el diagnóstico y tratamiento de enfermedades. En esta práctica, se desarrollará un sistema de producción simple que simule un sistema experto médico, utilizando un lenguaje de programación adecuado como Python, CLIPS o Prolog.

Un sistema de producción se basa en reglas del tipo “Si… entonces…”, que permiten razonar sobre un conjunto de hechos y extraer conclusiones. En este caso, el sistema analizará los síntomas reportados por un paciente y, mediante reglas predefinidas, generará un diagnóstico probable. Por ejemplo, una regla podría ser: “Si el paciente tiene fiebre alta y dolor de garganta, entonces podría tener amigdalitis”.

Esta práctica no solo introduce los fundamentos técnicos de los sistemas de producción, sino que también permite experimentar con la representación del conocimiento, el diseño de reglas lógicas y la implementación de mecanismos de inferencia. Al finalizar, los estudiantes comprenderán cómo los sistemas expertos pueden simular procesos de razonamiento humano para resolver problemas específicos, como el diagnóstico médico, y podrán aplicar estos conceptos a otros dominios.

Metodología y Descripción de la Actividad:

1. Descripción del Problema:

2. Lenguaje de Programación:

Los estudiantes pueden utilizar cualquiera de los siguientes lenguajes de programación para implementar el sistema:

3. Componentes del Sistema de Producción:

Debe estar definido claramente los componentes.

4. Simulación de Casos:

Entegables y Reporte Final:

Se calificará base a la Rúbrica de Evaluación en el apartado de Recursos.
AGENTES INTELIGENTES
A course by: Master Alberto Ramírez Regalado

Recursos: 2 Descargables

Duración: 2 Horas

“Por una tecnología propia como principio de libertad®️”