Motores de reglas de negocio
Motores de reglas de negocio
Motores de reglas de negocio
Motores de reglas de negocio
Amy Sariego

¿Qué es un motor de reglas de negocio? Introducción a los motores de reglas de negocio

Publicado

Publicado

October 31, 2021

October 31, 2021

Tiempo de lectura:

Tiempo de lectura:

Tiempo de lectura: 6 min

Tiempo de lectura: 6 min

Amy Sariego
Contenido

Comparte este artículo

Subscribe to email updates

Stay in the know and learn about the latest trends in fraud, credit, and compliance risk.

Subscribe to email updates

Stay in the know and learn about the latest trends in fraud, credit, and compliance risk.

Subscribe to email updates

Stay in the know and learn about the latest trends in fraud, credit, and compliance risk.

Subscribe to email updates

Stay in the know and learn about the latest trends in fraud, credit, and compliance risk.

Esta publicación de blog es la primera parte de una serie de publicaciones sobre motores de reglas de negocio. En este artículo, cubriremos lo siguiente:

Historia de los motores de reglas de negocio: Sistemas basados en reglas

  • ¿Qué son las reglas de negocio?

  • Los motores de reglas de negocio

  • Sistemas de gestión de reglas de negocio

  • ¿Cuándo y por qué necesita un motor de reglas de negocio?

  • Arquitectura de alto nivel de un motor de reglas de negocio convencional

  • Las 3 fases de inferencia en los motores de reglas

  • Paso 1: La Fase de Coincidencia

  • Paso 2: La Fase de Selección

  • Paso 3: La Fase de Ejecución

  • Conclusión

  • Vea Oscilar en acción, programe una demostración

Esta es la primera parte de nuestra serie de blogs sobre motores de reglas de negocio modernos. Lea esta serie de blogs para aprender los conceptos básicos y todos los detalles de cómo funciona, si lo necesita y por qué.

Historia de los motores de reglas de negocio: Sistemas Basados en Reglas

Un sistema basado en reglas (SBR) es un modelo de computación que se ha utilizado ampliamente en el campo de la Inteligencia Artificial (IA) para modelar el razonamiento humano y los procesos de resolución de problemas en áreas de tarea específicas. Los sistemas basados en reglas usan reglas si-entonces, o reglas de condición-acción, como su unidad básica de computación y emplean programación declarativa. La secuencia de operaciones no está predefinida en un SBR. En su lugar, el flujo de control depende de la evaluación frecuente del estado actual del sistema, representado por un conjunto de hechos. La computación procede aplicando las reglas en una secuencia determinada por estos hechos y concluye con la acción final recomendada.

Esta publicación de blog describe un sistema basado en reglas llamado motor de reglas de negocio, cuándo y por qué necesita uno, y su arquitectura de alto nivel.

¿Qué son las reglas de negocio?

Las reglas de negocio se resuelven como verdaderas o falsas y toman la forma de condiciones y acciones correspondientes. Se basan en políticas, regulaciones, contratos y mejores prácticas y describen operaciones y restricciones que se aplican al negocio. Su principal objetivo es afirmar políticas comerciales que ayudan a controlar el comportamiento y los resultados del negocio.

Las reglas de negocio se utilizan para resolver una variedad de problemas que van desde la decisión de fraude y riesgos hasta las políticas de TI y la segmentación de marketing.

Utilizar reglas si-entonces es un enfoque natural para modelar las habilidades de toma de decisiones y resolución de problemas humanas, así como para representar el conocimiento. Hoy en día, las reglas de negocio se han vuelto ubicuas con una amplia gama de aplicaciones en varios dominios, a saber:

  • Precios basados en el riesgo y otras estrategias de precios

  • Origen de préstamos, propensión a pagar, recuperación

  • Estrategias de segmentación

  • Aprobación de reclamos de seguros y fraudes relacionados

  • Monto del préstamo, límites de crédito y más

Los motores de reglas de negocio

Un motor de reglas de negocio (BRE) es un componente de software en un sistema de gestión de reglas de negocio (BRMS) más grande que permite a personas sin conocimientos de programación añadir, editar o cambiar la lógica de negocio, decisiones operativas o políticas de la empresa. Estos se definen, prueban, ejecutan y mantienen por separado del código de la aplicación.

Sistemas de gestión de reglas de negocio

Un sistema de gestión de reglas de negocio (BRMS) se construye alrededor de un motor de reglas de negocio y automatiza la toma de decisiones en los procesos de negocio de una organización. Los BRMS actúan como un almacén central de reglas y ofrecen capacidades de colaboración y análisis. Un BRMS se utiliza para definir, redistribuir, ejecutar, monitorear y gestionar las reglas de negocio y la lógica de decisión.

Los sistemas modernos de gestión de reglas de negocio son accesibles tanto para administradores de TI como para usuarios de negocio, con funciones como desarrollo de reglas sin código e ingeniería de datos automatizada.

¿Cuándo y por qué necesita un motor de reglas de negocio?

El mejor uso de los motores de reglas de negocio es cuando se aplican a problemas sin una solución algorítmica obvia.

Aquí hay algunas razones para modelar problemas como reglas:

  • El problema no se entiende bien de antemano

    Las reglas son adecuadas para problemas complejos donde no hay soluciones algorítmicas obvias, o cuando el problema no se entiende completamente.

  • La lógica cambia con frecuencia

    La lógica en sí puede ser simple pero cambia con frecuencia. En muchas organizaciones, las liberaciones de software son pocas y espaciadas, y las reglas pueden ayudar a proporcionar agilidad de una manera razonablemente segura.

  • La integración de datos es necesaria para la lógica

    Las reglas de negocio a menudo requieren operar sobre datos o hechos que están fragmentados frecuentemente en varias fuentes de datos internas y externas. El acoplamiento estrecho de la lógica y los datos relacionados reduce la eficiencia y causa duplicaciones, ya que los datos deben integrarse varias veces donde sea que se aplique la lógica.

  • Velocidad y escalabilidad

    Los motores de reglas emplean varios algoritmos de coincidencia de patrones bien probados y ampliamente desplegados. Proporcionan formas muy eficientes de hacer coincidir patrones de reglas con sus datos, aumentando así la velocidad y escalabilidad de la toma de decisiones.

  • Centralización del conocimiento

    El uso de reglas crea un repositorio central de conocimiento, o una base de conocimiento, que es bien entendida y explicable. Sirve como un único punto de verdad para las políticas comerciales y la toma de decisiones relacionada. Idealmente, las reglas son lo suficientemente legibles como para servir como documentación.

  • Expertos en el dominio o analistas de negocio están fácilmente disponibles

    Los expertos en el dominio a menudo poseen un gran conocimiento sobre reglas y procesos de negocio. Las reglas les permiten expresar la lógica de decisión sin requerir escribir código de aplicación.

Arquitectura de alto nivel de un motor de reglas de negocio convencional

  1. La memoria de producción almacena la lista de reglas.

  2. La memoria de trabajo almacena la lista de hechos requeridos por las reglas.

  3. El motor de inferencia realiza la coincidencia de patrones para ejecutar la regla seleccionada.

Las 3 fases de inferencia en los motores de reglas

A un nivel alto, el motor de inferencia en los motores de reglas de negocio realiza iterativamente las siguientes operaciones:

Paso 1: La Fase de Coincidencia

Todas las reglas se comparan con los hechos actuales en la memoria de trabajo. Este proceso se llama comparación de patrones de reglas. Cada par ordenado de una regla y el subconjunto de hechos que satisfacen las condiciones es una instancia—también llamada activación—de la regla. Todas las activaciones de reglas se enumeran para formar el conjunto de conflictos.

El proceso de comparar reglas con los hechos actuales en la memoria de trabajo se llama coincidencia de patrones de reglas. A diferencia del reconocimiento de patrones—reconocer patrones y similitudes en los datos—la coincidencia de patrones significa que la coincidencia usualmente debe resultar en un valor booleano de coincidir/no coincidir.

Los motores de reglas emplean varios tipos de algoritmos de coincidencia de patrones, como Rete, Lineal, Treat, Leaps. El algoritmo Rete es un algoritmo de coincidencia de patrones popular y se ha convertido en la base de algunos de los motores de reglas más populares, incluido Drools. La eficiencia fue un enfoque central en el desarrollo del algoritmo Rete y está diseñado para sacrificar memoria a cambio de una mayor velocidad. En teoría, el rendimiento de Rete es independiente de la cantidad de reglas en el sistema, siendo así muchas veces más rápido en comparación con implementaciones ingenuas.

Paso 2: La Fase de Selección

En la fase de Selección, se elige para ejecución una única activación de regla del conjunto de conflictos. Esta fase también se llama resolución de conflictos y el criterio predefinido para seleccionar la regla a ejecutar se llama estrategia de resolución de conflictos. Esta fase produce la regla seleccionada resultante.

Paso 3: La Fase de Ejecución

Se ejecutan las acciones especificadas en la regla seleccionada. Pueden cambiar el contenido de la memoria de trabajo. Al final de esta fase, se ejecuta nuevamente la fase de coincidencia.

Hay dos métodos de ejecución para un motor de reglas: Encadenamiento hacia adelante y Encadenamiento hacia atrás; los sistemas que implementan ambos se llaman Sistemas de Encadenamiento Híbrido. La forma en que se programan las reglas para ejecución es una característica clave que diferencia los varios tipos de motores de reglas.

  1. Encadenamiento hacia adelante: El encadenamiento hacia adelante es el tipo predominante de motor de reglas. En resumen, este tipo de motor de reglas comienza con los datos y razona su camino hacia la respuesta. Comienzan con los datos o hechos disponibles y usan reglas de inferencia—una función que toma premisas, analiza su sintaxis y devuelve una(s) conclusión(es)—para extraer más hechos hasta alcanzar un objetivo.

    Existen dos tipos de motores de reglas de encadenamiento hacia adelante:

    1. Producción/inferencia: que toman la forma de lógica si-entonces

    2. Reactivo: que toman la forma de evento → condición → acción o lógica 'cuando-entonces'

  2. Encadenamiento hacia atrás: El encadenamiento hacia atrás, como sugiere el nombre, es lo opuesto al encadenamiento hacia adelante. Mientras que el encadenamiento hacia adelante comienza con datos y trabaja desde allí, el encadenamiento hacia atrás comienza con una lista de objetivos (o una hipótesis) y trabaja hacia atrás para ver si algún hecho respalda los objetivos o una hipótesis.

Conclusión

Si bien los motores de reglas de negocio se han vuelto ubicuos con una amplia gama de aplicaciones en varios dominios, pueden ser excesivos para ciertos casos de uso. Son una abstracción poderosa cuando se aplica correctamente y permite a una base de usuarios más amplia—que no escribe código—resolver problemas clave de negocio que van desde políticas de TI, gestión de riesgos hasta políticas regulatorias y segmentación de marketing.

En esta publicación de blog, revisamos de qué se tratan los motores de reglas de negocio convencionales. Parte 2 de la serie de publicaciones de blog recorrerá un motor de reglas de negocio popular llamado Drools. El último blog de esta serie recorrerá motores de decisiones modernos y qué falta en los motores de reglas de negocio convencionales.

Sigue leyendo