TL;DR: In this article, the authors present a test generator which uses a decision tree representation of a verification space, derived from a functional specification of the digital electronic system, to generate functional tests.
Abstract: A method and apparatus capable of generating and executing large numbers of functional tests for complex digital electronic systems at low cost are presented. The apparatus includes a test generator which uses a decision tree representation of a verification space, derived from a functional specification of the digital electronic system, to generate functional tests. A decision tree representation of a verification space includes an initial goal node, a leaf goal node, and at least one intermediate goal node interconnected by a plurality of directed decision arcs formed between the initial goal node and the leaf goal node. Goal plans assigned to goal nodes include operations which generate functional tests. Functional tests are generated by recursively "walking" the decision tree, the choices of which goal node to visit next being made at random and according to decision weights assigned to each goal node. The decision weights assigned to each goal node in the decision tree may be adjusted to ensure all portions of the verification space are adequately tested. A testing system issues functional tests to both a golden device and a device under test. The testing system compares expected responses from the golden unit to responses from device under test and produces functional test results. Specialized structures called monitors ensure sets of functional tests (i.e., functional test suites) exercise all parts of a system implementation.
TL;DR: This paper examines the computational optimality of A*, in the sense of never expanding a node that could be skipped by some other algorithm having access to the same heuristic information that A* uses.
Abstract: This paper examines the computational optimality of A*, in the sense of never expanding a node that could be skipped by some other algorithm having access to the same heuristic information that A* uses. We define four optimality types, and consider three classes of algorithms and four domains of problem instances relative to which computational performances are appraised. For each class-domain combination, we then identify the strongest type of optimality that exists and the algorithm achieving it. Our main results relate to the class of algorithms which, like A*, return optimal solutions (i.e., admissible) when all cost estimates are optimistic (i.e., h≤h*). On this class we show that A* is not optimal and that no optimal algorithm exists, but if we confine the performance tests to cases where the estimates are also consistent, then A* is indeed optimal. Additionally, we show that A* is optimal over a subset of the latter class containing all best-first algorithms that are guided by path-dependent evaluation functions.
TL;DR: An algorithm for finding a least-cost-path from start node to goal node set in a directed graph, adaptive A*(AA*), which can be used to automate knowledge acquisition, so that A* exhibits a form of machine learning.
Abstract: We present and analyze an algorithm, adaptive A*(AA*), for finding a least-cost-path from start node to goal node set in a directed graph. Arc costs are assumed to be scalar-valued, and the cost of each path is the sum of the concomitant arc costs. Search is guided by: 1) a collection of real-valued functions on the node set, which is a generalization of the heuristic function associated with A*; 2) a set of predetermined optimal paths; and 3) a set of paths in the graph that are considered desirable but may or may not be optimal. The knowledge representations described in (1) and (3) can be useful in describing knowledge acquired from humans. The knowledge representation described in (2) can be used to automate knowledge acquisition, so that A* exhibits a form of machine learning. Additionally, the collection of real-valued functions on the node set can be useful in describing bounds on the perfect heuristic function, i.e., the solution of the related dynamic program. A numerical analysis, using a specialization of AA* applied to a model of the Cleveland, OH, road network demonstrated significant performance improvement relative to A*.
TL;DR: The authors propose some simple alternatives to their algorithm that are effective in reducing the number of nodes generated (and expanded) without sacrificing the optimality criteria.
Abstract: C. C. Shen and W. H. Tsai (IEEE Trans. Comput., vol.C-34, no.3, p.197-203 1985) proposed a graph matching algorithm for solving the static task assignment problem. It combines two important ideas: (1) graph homomorphism and (2) application of the A* algorithm. Task-dependent information is used as a heuristic to reduce the search effort in finding an optimal path to the goal node. An examination is made of Shen and Tsai's strategy and their complexity measure. The authors propose some simple alternatives to their algorithm that are effective in reducing the number of nodes generated (and expanded) without sacrificing the optimality criteria. >