Explore chapters and articles related to this topic
Advanced Systolic Design
Published in Keshab K. Parhi, Takao Nishitani, Digital Signal Processing for Multimedia Systems, 2018
Dominique Lavenier, Patrice Patrice, Sanjay Rajopadhye
The theory summarized in the first part is more or less the basis of several transformation systems and tools for regular array synthesis. Without any pretension to be exhaustive, let us cite a few of these systems. A number of classic systems such as SDEF, VACS, etc., were developed as research prototypes at various universities. Among the earliest software based on such transformations was Diastol [60]. This program accepted a few recurrence equations, and produced the sketch of a systolic architectures using the space-time transformation technique. More recent attempts such as the MMAlpha system [61, 62] are based on applicative languages, and correspond closely to the theory that we have presented. The Cathedral IV software [63] is an attempt to produce regular designs from algorithms specified in Silage. (Silage is a single assignment language used as the starting point for synthesis of signal processing architectures. A commercial version of this language, called DFL, is used by Mentor Graphics.) Presage [64] was a prototype tool written in Prolog, also meant for time-space transformations. One characteristic of this software was its ability to explore in a systematic way the solution space, using the backtracking mechanism of Prolog. Another attempt in this direction was presented by Baltus [65], where the solution space was explored using branch and bound techniques. HiFi [66] is developed in Delft, and covers a large spectrum of synthesis techniques, including clustering and partitioning.
Introduction to Expert Systems
Published in Chris Nikolopoulos, Expert Systems, 1997
Unlike the traditional procedural languages, (Pascal, C, Fortran, etc.), Prolog is a declarative programming language. The Prolog programmer expresses in logic syntax the logical specifications about the problem to be solved, ("declares" the available knowledge about the problem domain) and does not need to specify "how" a solution is to be derived. The built in inference mechanism is based on Robinson's resolution principle and contains the necessary control and algorithmic knowledge on how to execute the specifications and retrieve the answers to queries automatically. The search strategy employed is based on Kowalski's linear resolution strategy and set of support. Negation is handled by employing the closed world assumption (see Chapter 2 ).
AI Programming Languages and Tools
Published in Adrian A. Hopgood, Intelligent Systems for Engineers and Scientists, 2021
Like most programming languages, Lisp and Python are procedural. Nevertheless, they can be used to support declarative programming. In contrast, the Prolog language is declarative, but can also be used procedurally. To enable declarative programming, Prolog includes a backtracking mechanism that allows it to explore all possible ways in which a goal might be achieved. The programmer can exercise control over Prolog’s backtracking by careful ordering of clauses and through the use of cuts.
AI-enabled Enterprise Information Systems for Manufacturing
Published in Enterprise Information Systems, 2022
Milan Zdravković, Hervé Panetto, Georg Weichhart
One of the first logic programming languages was PROLOG. It builds on formal first-order logic, and is a declarative programming language. A deductive logic system consists of a set of inference rules and logical axioms that determine which sequences of formulas constitute valid proofs (Lloyd 2012). The human engineer provides facts and rules, the inference mechanism is then used to deductively reason if a certain statement (i.e., query) is true. As such, logic-based approaches are model-driven systems.
A knowledge-based document assembly method to support semantic interoperability of enterprise information systems
Published in Enterprise Information Systems, 2022
Marko Marković, Stevan Gostojić
Prolog is a well-known logic programming language based on a rule format with an easily understandable expressive syntax. With its many implementations and interfaces to other programming languages, such as Java, Prolog does not support defeasible logic, which that is a drawback within the legal domain use cases because exceptions to rules and contradicting rules often exist.