Representación del Contenido II

Representación del Contenido II

Ejemplos Prácticos de Sistemas Basados en Reglas

En esta sección veremos cómo los sistemas basados en reglas pueden usarse en situaciones reales y cotidianas, desde la detección de síntomas médicos hasta el control de dispositivos inteligentes en el hogar.

1. Sistema de Diagnóstico Médico Básico

Un sistema simple puede ayudar a identificar posibles enfermedades comunes según los síntomas reportados por el usuario.

Ejemplo en Python:


from durable.lang import *

with ruleset('diagnostico_medico'):
    @when_all(m.sintoma == 'fiebre') & (m.duracion >= 2)
    def fiebre_alta(c):
        print("Posible infección bacteriana")

    @when_all(m.sintoma == 'tos') & (m.tipo == 'seca')
    def tos_seca(c):
        print("Posible alergia o resfriado común")

post('diagnostico_medico', {'sintoma': 'fiebre', 'duracion': 3})
        

Resultado esperado:

Posible infección bacteriana

2. Asistente de Recomendación de Películas

Podemos usar reglas para recomendar películas según gustos del usuario.

Género Recomendación
Acción Misión Imposible, John Wick
Drama El Padrino, Forrest Gump
Ciencia Ficción Inception, Blade Runner

Ejemplo en Python:


with ruleset('recomendador_peliculas'):
    @when_all(m.genero == 'accion')
    def accion(c):
        print("Recomiendo: Misión Imposible, John Wick")

    @when_all(m.genero == 'drama')
    def drama(c):
        print("Recomiendo: El Padrino, Forrest Gump")

post('recomendador_peliculas', {'genero': 'accion'})
        

Resultado esperado:

Recomiendo: Misión Imposible, John Wick

3. Control de Dispositivos Domóticos

Los sistemas basados en reglas también son útiles para automatizar el hogar inteligente.

  • Si es de noche y hay movimiento → encender luz
  • Si temperatura > 28°C → encender aire acondicionado
  • Si puerta abierta y no hay nadie → enviar alerta

Ejemplo en Python:


with ruleset('control_domotico'):
    @when_all(m.evento == 'movimiento') & (m.hora >= 20)
    def noche_con_movimiento(c):
        print("Encendiendo luz principal")

    @when_all(m.temperatura > 28)
    def calor_extremo(c):
        print("Encendiendo aire acondicionado")

post('control_domotico', {'evento': 'movimiento', 'hora': 22})
        

Resultado esperado:

Encendiendo luz principal
Nota: Este tipo de lógica se usa mucho en IoT (Internet of Things) y en asistentes virtuales como Alexa o Google Home.

4. Validación de Datos en Formularios Web

Los sistemas basados en reglas también son útiles para validar datos ingresados por usuarios.

Ejemplo en Python:


with ruleset('validacion_datos'):
    @when_all(m.edad < 18)
    def menor_de_edad(c):
        print("No puedes registrarte si eres menor de edad.")

    @when_all(m.email.missing('@'))
    def email_invalido(c):
        print("Correo electrónico inválido.")

post('validacion_datos', {'edad': 16})
        

Resultado esperado:

No puedes registrarte si eres menor de edad.

Video: Aplicaciones prácticas de sistemas basados en reglas

Conclusión

Estos ejemplos demuestran que los sistemas basados en reglas son herramientas versátiles que permiten resolver problemas reales de manera clara, lógica y estructurada. Usar Python para implementarlos brinda flexibilidad y simplicidad sin sacrificar potencia.

Estos ejemplos demuestran que los sistemas basados en reglas son herramientas versátiles que permiten resolver problemas reales de manera clara, lógica y estructurada. Usar Python para implementarlos brinda flexibilidad y simplicidad sin sacrificar potencia.

Obra publicada con Licencia Creative Commons Reconocimiento Compartir igual 4.0

Creado con eXeLearning (Ventana nueva)