Rule - gusenov/kb GitHub Wiki

  • ThinkAutomation / What is a rule-based system? What is it not?
    • A rule-based system is a
      • system that applies human-made rules to store, sort and manipulate data. In doing so, it mimics human intelligence.
      • logical program that uses pre-defined rules to make deductions and choices to perform automated actions.
    • Rule-based systems require a set of facts or source of data, and a set of rules for manipulating that data. These rules are sometimes referred to as ‘If statements’ as they tend to follow the line of IF X happens THEN do Y.
    • Rule-based systems are not AI, and they are not machine learning. A rule-based system won’t change or update on its own, and it won’t ‘learn’ from mistakes.
    • Rule-based system automates processes by breaking them down into steps:
      • First comes the data or new business event.
      • Then comes the analysis: the part where the system conditonally processes the data against its rules. These rules outline triggers and the actions that should follow (or are triggered).
      • Then comes any subsequent automated follow-up actions.
    • Examples
      • A trigger might be an email containing the word “invoice”. An action might then be to forward the email to the finance team.

Wikipedia

  • Category:Rule engines
  • Rule-based languages
  • Rule-based modeling is a modeling approach that uses a set of rules that indirectly specifies a mathematical model.
  • Rule-based system constructed using automatic rule inference, such as rule-based machine learning, are normally excluded from this system type.
  • Drools - Wikipedia is a business rule management system (BRMS) with a forward and backward chaining inference based rules engine, more correctly known as a production rule system, using an enhanced implementation of the Rete algorithm.

Books

Q&A

  • Quora / What is the difference between Rule-based programming and object-oriented programming? Which is a more modern programming paradigm?
    • Both are valid ways to model a process.
    • Rule-based programming
      • In case of rule based programming, we model a system as a set of constraints that the system should satisfy. Language runtime tries to create a process satisfying those constraints.
      • Rule based programming is also know was “Logic programming” is used in AI programming.
      • In Europe, Prolog is the dominate programming language for “Logic” or rule-based programming.
      • Logic Programming is to 1. define “truth” and 2. “logic equation that query the truth”. A general purpose equation solver “solves for values” (there may be more than one solution) for that equation.
    • object-oriented programming
      • In object oriented programming, a system appears as a cascade of message passes. A message is passed to the object representing the language runtime to start the process.
      • O-O uses 1. Creation of “objects” that have indefinite life times. and 2. Messages sent to objects for actions.