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.
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 ENTONCES
De lo anterior podemos deducir dos elementos básicos:
Expresiones booleanas que determinan si la regla puede detonarse. Puede contener cualquiera de estos componentes.
Expresión lógica:
Variables:
Constantes:
Operadores lógicos:
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:
Consideremos un sistema experto para diagnosticar enfermedades. Una regla podría ser:
SI paciente_tiene_fiebre Y paciente_tiene_dolor_de_garganta
ENTONCES diagnostico= “posible infección viral.”
Condición:
Acción:
SI paciente_tiene_fiebre Y paciente_tiene_tos
ENTONCES diagnostico= “gripe”
Condición:
Acción:
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.
REGLA :
SI AND/OR/NOT ... AND/OR/NOT
ENTONCES , , ...
regla1(X):-fiebre(X),dolor_garganta(X),diagnostico_infeccion_viral(X).
regla2(X):-fiebre(X), tos(X), diagnostico_gripe(X)
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.
Para este subtema se requiere contestar un cuestionario autoevaluable, el cual se encuentra en el apartado de recursos.
Cuestionario del subtema 3.4.
Recursos: 0 Descargables
Duración: 0.5 Horas