Explore chapters and articles related to this topic
DCSG: A Logic Grammar for Knowledge Representation of Hierarchically Organized Objects
Published in Takushi Tanaka, Setsuo Ohsuga, Moonis Ali, Industrial and Engineering Applications of Artificial Intelligence and Expert Systems, 2022
Parsing consists of the iterative application of grammar rules controlled by the Prolog backtracking mechanism. Grammar rules, such as (1)’ above, contains only nonterminal symbols, and grammar rules that generate terminal symbols differ slightly. When the clause (1)’ is used in parsing, an object set (multi set) is substituted into S0, and the non-terminal symbol A is identified as a subset of S0 During parsing, the elements in S0 are successively replaced to form the sequence S1, …, Sn. Procedurally, the clause (1)’ can be read as: In order to show A to be a subset of S0, show B1 to be a subset of S0, show B2 to be a subset of S1 which is the remainder of B1 from S0, …, show Bn to be a subset of Sn-1, and set the remainder to be Sn.
AI Programming Languages and Tools
Published in Adrian A. Hopgood, Intelligent Systems for Engineers and Scientists, 2021
Prolog provides two facilities for controlling backtracking. They can be used to increase efficiency and to alter the meaning of a program. These facilities are:the order of Prolog code;the use of the cut operator.Prolog tries out possible solutions to a problem in the order in which they are presented. Thus, in our example, Prolog always starts by assuming that the user has supplied a single materials specification. Only when it discovers that this is not the case does Prolog consider that the user may have submitted a list of several specifications. This is an appropriate ordering, as it is sensible to try the simplest solution first. In general, the ordering of code will affect the procedural meaning of a Prolog program (i.e., how the problem will be solved), but not its declarative meaning. However, as soon as the Prolog programmer starts to use the second facility, namely, the cut operator, the order of Prolog clauses can affect both the procedural and the declarative meaning of programs.
Computer Assembly Planners in Manufacturing Systems and Their Applications in Aircraft Frame Assemblies
Published in Cornelius Leondes, The Design of Manufacturing Systems, 2019
Tonshoff et al. [44] developed an expert system for determining the optimum assembly sequence for assembly tasks with few components. The assembly tasks determined by analyzing the assembly drawings and the parts list are represented in the knowledge base by facts. All joining positions for the objects to be assembled are automatically identified from the contact relationships. For each connection of the joining positions, technological data important for the description of the assembly process are taken from the drawing. Rules on assembly technology including task-related rules, object-related rules, and organizatory rules were formulated by studying possible process sequences. The task-related rules are used to avoid cases where improper assembly sequences result in situations where some objects cannot be assembled. The properties of the objects that influence the assembly sequence are formulated in object-related rules. In addition, organizatory rules regarding productivity and efficiency are taken into account, too. Dependencies between joining methods are considered to derive a priority list which is used to limit the options when determining the assembly sequence. A further reduction of the number of possible assembly sequences is achieved by including the technical function of the connection made from the separate components. The system was coded in Prolog by using the backtracking method (disassembly).
Exact and metaheuristic algorithms for flow-shop scheduling problems with release dates
Published in Engineering Optimization, 2022
Tao Ren, Xinyue Wang, Tianyi Liu, Chin-Chia Wu, Danyu Bai, Lin Lin, Meiting Guo
For strong NP-hard problems, an enumeration-based method is typically used to search for exact solutions of small-sized instances. A B&B algorithm is an intelligent enumeration that systematically explores candidate solutions in state space. Two key branching schemes, namely, depth- and breadth-first techniques, are widely used in exploration. The former explores as far as possible along each branch in a search tree before backtracking, while the latter explores all neighbouring nodes at the current depth before moving on to the nodes at the next level. Given that the studied FSS model performs permutation scheduling, the depth-first plus backtracking strategy significantly reduces the calculation. The B&B algorithm exploration starts at the root node that represents a null schedule and seeks each candidate node along a branch in a search tree, where a node (except for the root and leaf nodes) represents a partial schedule. Although an ordinary B&B algorithm can obtain the optimal solution without any acceleration technique, the solution takes quite a long time. Having an excellent branching rule and an LB are the keys to significantly pruning invalid nodes, and consequently, improving the algorithm’s performance.