3.4 Sintaxis de las Reglas de Producción

Introducción

Podemos iniciar con una pregunta que active el pensamiento de los estudiantes ¿Cuál es la forma correcta de escribir una regla para los motores de inferencia? Permitimos que los estudiantes opinen y agregamos que hasta ahora hemos explorado cómo los sistemas basados en producción utilizan reglas en formato condicional SI-ENTONCES para tomar decisiones o realizar inferencias. Sin embargo, es necesario profundizar para saber cómo escribir correctamente esas reglas y cómo deben estructurarse para que sean interpretadas correctamente por el sistema.

En este subtema veremos los componentes clave que conforman las reglas de producción, cómo pueden combinarse condiciones simples y complejas, y qué operadores lógicos podemos emplear para definir relaciones entre diferentes hechos o situaciones.

Desarrollo

Al entender la sintaxis de las reglas, no solo aprenderemos a escribirlas correctamente, sino que también adquiriremos las herramientas para expresar conocimiento de manera correcta dentro de un sistema de inteligencia artificial, permitiendo que este realice inferencias lógicas y, eventualmente, tome decisiones fundamentadas.

Para ello, lo primero que debemos saber es la estructura general de las reglas, se que esto te parecerá redundante pero ya hemos explicado el propósito:

				
					SI <condiciones> ENTONCES <acciones>
				
			

Elementos Clave de las Reglas de Producción

De lo anterior podemos deducir dos elementos básicos:

Condición (IF)

Expresiones booleanas que determinan si la regla puede detonarse. Puede contener cualquiera de estos componentes.

Expresión lógica:

Variables:

Constantes:

Operadores lógicos:

Acción (THEN)

Operaciones o conclusiones que se llevan a cabo si la condición se cumple. Pueden ser del tipo:

Aserción:

Modificación:

Llamada a procedimiento:

Ejemplo práctico de reglas de diagnóstico

Consideremos un sistema experto para diagnosticar enfermedades. Una regla podría ser:

Regla para diagnóstico de infección viral

				
					SI paciente_tiene_fiebre Y paciente_tiene_dolor_de_garganta
ENTONCES diagnostico= “posible infección viral.”
				
			

Condición:

Acción:

Regla para diagnóstico de gripe

				
					SI paciente_tiene_fiebre Y paciente_tiene_tos
ENTONCES diagnostico= “gripe”

				
			

Condición:

Acción:

Sintaxis Formal

La sintaxis formal de las reglas de producción puede variar ligeramente dependiendo del lenguaje o herramienta utilizada. Sin embargo, la estructura básica es siempre la misma.

Notación general

				
					REGLA <nombre_regla>:
SI <condición1> AND/OR/NOT <condición2> ... AND/OR/NOT <condición_n>
ENTONCES <acción1>, <acción2>, ... <acción_m>

				
			

Ejemplo en el lenguaje de programación Prolog

				
					regla1(X):-fiebre(X),dolor_garganta(X),diagnostico_infeccion_viral(X).
regla2(X):-fiebre(X), tos(X), diagnostico_gripe(X)
				
			

Ejercicio para los estudiantes

Ahora haz participar a los estudiantes para que escriban estos dos ejemplos en notación formal y comenten:

				
					SI temperatura >38 Y dolor_de_garganta ENTONCES diagnostico= “posible 	infección”
SI dolor_de_cabeza O mareo ENTONCES diagnóstico = "migraña".
				
			

No profundizaremos mucho en estos temas porque, como lo he comentado, los temas de lógica se abarcaron profundamente en la asignatura de Programación Lógica y Funcional del curriculum de Ingeniería en Sistemas Computacionales.

Para finalizar, concluimos diciendo que en la próxima sesión, exploraremos la semántica de las reglas de producción, es decir, cómo se interpretan y ejecutan las reglas dentro de un sistema.

Propuesta de Evaluación

Para este subtema se requiere contestar un cuestionario autoevaluable, el cual se encuentra en el apartado de recursos.

Cuestionario del subtema 3.4.

AGENTES INTELIGENTES
A course by: Master Alberto Ramírez Regalado

Recursos: 0 Descargables

Duración: 0.5 Horas

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