You can edit almost every page by Creating an account. Otherwise, see the FAQ.

DARL

From EverybodyWiki Bios & Wiki




DARL, Doctor Andy's Rule Language[1][2][3][4] is a simple Fuzzy Logic based rule language designed to represent knowledge, both logical and mathematical, with special features to represent uncertainty. DARL is an interpreted language where rules are collected into groups in rulesets, and larger entities can be created by wiring together rulesets, using a circuit diagram or schematic paradigm.

Unlike a conventional expert system, DARL programs are checked during the interpretation process for circular dependencies and all dependencies are enumerated before execution. This results in a defined execution time that is little affected by the data applied.

Design[edit]

Each ruleset contains a data dictionary defining inputs and outputs and a set of rules. The order of declaration of elements has no bearing on the execution process, so rules, inputs, outputs and other elements can be defined in any order; though a convention exists to declare inputs, outputs, constants and rules in that order.

Data types[edit]

Inputs and outputs can be numeric, categorical, textual or temporal.

Numerical inputs and outputs encompass real and integer data types. A numeric input or output can optionally contain a series of fuzzy set definitions.

Categorical inputs and outputs represent sets of choices, such as 'true/false' or 'married/single/divorced/separated'

Textual inputs and outputs hold blocks of text

Temporal inputs and outputs[5] represent absolute times relative to the year 0, or relative times, in seconds. A temporal input or output can optionally contain a series of fuzzy set definitions.

Rules[edit]

These have a simple format:

if <logical expression> then <output> will be <output rvalue> [confidence [0:1]];

logical expression[edit]

Logical operators follow the rules of fuzzy logic and include 'And' 'Or' and 'Not'. A comparison operator 'Is' is used to determine the degree of truth of an expression. This has the general format:

<input or output> is <rvalue>

where rvalue matches the type of the input or output and permits appropriate operators. For instance, for a numeric input 'height' one can write:

height is > 2.5

Arithmetic expression[edit]

DARL supports standard arithmetic operators, plus 'Sum', 'Product', 'Maximum', 'Minimum', 'Round' and several others. These are implemented using Fuzzy arithmetic.

Output rvalues[edit]

These represent the assignment that will be made to the given output if the logical expression has a degree of truth > 0.

Again, these are appropriate to the data type, but include assignment to a set, or a constant, or a numeric expression for numeric outputs, text processing and substitution for textual outputs, assignments to categories for categorical outputs and assignment to a set, or a constant, or a temporal expression for temporal outputs

Rule aggregation[edit]

During the inference process rules that govern the same output are collected. For numeric and temporal outputs The Fuzzy C of G method is used to aggregate output values. For categorical outputs an ordered list of possible categories annotated with degrees of certainty are generated. For textual outputs the text is appended in certainty order.

Fuzzy arithmetic[edit]

The DARL language and inference engine support Fuzzy Arithmetic[6][7], a super set of 'crisp' arithmetic where Fuzzy numbers can be handled. Internally the technique of Alpha-cuts is used to represent numeric values up to the point where an output is aggregated, at which point the alpha-cut intervals are converted to a best -fit fuzzy number using the inbuilt fuzzy set representation method.

Representation of uncertainty[edit]

The DARL language and associated inference engine use a possibility theory approach to uncertainty representation. Each input or output may be annotated with a confidence figure, interpreted as the degree of truth associated with the implicit assertion that the given input holds that value. Furthermore numeric inputs can be input as singleton, interval, triangular or trapezoidal fuzzy numbers. Categorical inputs can have multiple categories, each with their own degree of truth. Temporal inputs can be input as singleton, interval, triangular or trapezoidal fuzzy times.

Fuzzy set representation method[edit]

DARL uses a simple fuzzy set representation method that is limited to convex sets. A set is represented as a fuzzy number with between 1 and 4 values. These values are expected to be ordered in increasing size.

Contexts and uses[edit]

Machine learning[edit]

DARL was originally designed to be the model representation language for various machine learning algorithms. These include supervised learning unsupervised learning and reinforcement learning algorithms. The supervised learning algorithm is a fuzzification of Quinlan's ID3 algorithm with proprietary controls for overtraining. The only parameters that need to be set by the user are the percentage of the training data to be used as "out of sample" data, and a 'granularity' control which sets the number of fuzzy sets to be generated for numeric and temporal values. Genetic programming[8] has been successfully used to create reinforcement learning sets of solution rulesets.

DARL rulesets as a modern expert system[edit]

A DARL ruleset and the associated inference engine act as a modern expert system with some differences. Pre-processing of DARL code during the compilation process detects and rejects loops and determines the order of execution of rules grouped by common outputs. DARL rulesets therefore process in a single pass, unlike traditional expert systems using the Rete algorithm, which require a series of passes determined by their current state and the data added. DARL is designed to reduce or eliminate the need for "knowledge engineers" in that DARL rulesets are very easy to create.

Data Elicitation[edit]

Many real world business applications start as the definition of a set of rules. For instance a new Financial services product will be conceived of at the highest level as a set of rules determining the customers sought and the compliance rules that must be followed. A long process follows to turn that into text forms and internal automated or human processes that take a potential customer through the enrolment process. The DARL inference engine can dramatically simplify such a process. If the rules are represented in DARL then qualification can be automatically determined. A further addition to the inference engine permits the ruleset to be analysed for sensitivity to each input. Using this method the ruleset can be automatically converted into an intelligent questionnaire or form tool. The entire process from customer interaction with a website or chat engine to approval can be automated using these tools. Furthermore, any changes to the terms of offer can be incorporated very rapidly into the ruleset, without redesign of website forms, etc. The product DARLBot[9] illustrates this process.

Ethical AI[edit]

There is increasing concern, and not just from sensationalist media, about the civil rights implications of the ethics of artificial intelligence[10]. Most machine learning algorithms create models that are black boxes. It is therefore difficult or impossible to audit why a trained model made a particular classification or prediction. There are many circumstances, for example, in the area of security and financial services, where the decisions of trained models may lead to the increased likelihood of surveillance or the refusal of a loan to certain groups unintentionally. Machine learning to DARL obviates these concerns. DARL rulesets read very like plain English and are therefore easily audited. The DARL Machined learning algorithms are therefore examples of Whitebox learning.[11]

External links[edit]

References[edit]


This article "DARL" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:DARL. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.

  1. Edmonds, A (2015). Darl - AI Online. Amazon. ISBN 978-1519669438. Search this book on
  2. "Rule Based Systems Using DARL". Techrepublic.
  3. "The DARL language and its online Fuzzy Expert System". CodeProject. Retrieved 30 April 2018.
  4. "DARL – AI and fuzzy logic rule language examples – scripting Bots". Code Project.
  5. Galton, Anthony (1987). Temporal logics and their applications. Academic. ISBN 978-0122740602. Search this book on
  6. Hanss, Michael (2005). Applied fuzzy arithmetic. Berlin; New York: Springer-Verlag. ISBN 978-3-540-24201-7. Search this book on
  7. Kaufmann, A; Gupta, Madan M. (1985). Introduction to fuzzy arithmetic. New York, N.Y.: Van Nostrand Reinhold Co. ISBN 978-0442008994. Search this book on
  8. Edmonds, A; Burkhardt, D; Adjei, O (1994). "Genetic Programming of Fuzzy Logic Production Rules with Application to Financial Trading". IEEE World Conference on CI.
  9. "DARL Bot Service".
  10. Wachter, S; Mittelstadt, B; Floridi, L (2017). "Transparent, Explainable, and Accountable AI for Robotics". Science Robotics. 2 (6).
  11. https://www.codeproject.com/Articles/1248572/DARL-and-Whitebox-machine-learning